インポートされたプロジェクト「C:\Microsoft.CSharp.targets」が見つかりませんでした

StackOverflow https://stackoverflow.com/questions/5694

  •  08-06-2019
  •  | 
  •  

質問

今日、Visual Studio 2008 を開こうとするとこのエラーが発生しました プロジェクト Visual Studio 2005 の場合:

インポートされたプロジェクト「C:\Microsoft.CSharp.targets」が見つかりませんでした。

役に立ちましたか?

解決

csprojファイルをメモ帳(またはnotepad ++)で開く行を見つけます。

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

それを次のように変更します

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

他のヒント

これはグローバルなソリューションであり、特定のパッケージやビンに依存しません。

私の場合は削除しました パッケージ ルートディレクトリからフォルダーを作成します。

おそらく、パッケージは存在するが、コンパイラーがその参照を見つけられないために発生する可能性があります。したがって、最初に古いパッケージを削除してから、新しいパッケージを追加してください。

への手順 新しいパッケージを追加する

  • まず、パッケージフォルダーを削除します(現在のプロジェクト フォルダーの近く、またはその 1 つ上のフォルダーにあります).
  • 次に、プロジェクトまたはソリューションを再起動します。
  • 次に、ソリューション ファイルを再構築します。
  • プロジェクトは、nuGet パッケージ マネージャーから新しい参照を取得します。そして、あなたの問題は解決されました。

これは適切な解決策ではありませんが、 同じ問題に直面しているため、ここに投稿しました。

私の場合、 Visual Studio でソリューションを開くことさえできず、上記の回答では何の助けも得られませんでした。

私にとって問題は、リポジトリのクローン作成時に git がスペースの代わりに %20 文字を追加したため、プロジェクトのパスに %20 文字が含まれていることでした。もう 1 つの問題は、パッケージへのパスが長すぎる場合に考えられます。

これ MSDN のリンク また、機能しない理由を理解するのにも役立ちます。$(MSBuildToolsPath) は、Microsoft.Build.Engine v3.5 へのパスです (VS2008 で作成するときにプロジェクト ファイルに自動的に挿入されます)。.Net 2.0 用のプロジェクトをビルドしようとする場合は、このパスを Microsoft.Build.Engine v2.0 へのパスである $(MSBuildBinPath) に変更していることを確認してください。

私の場合は読み込めませんでした 1つ のうち 5つのプロジェクト 私の解決策では。

それは役に立ちました Visual Studioを閉じる そして私はしなければならなかった 消去 Microsoft.Net.Compilers.1.3.2 その下のnugetフォルダー packages フォルダ。

その後、ソリューションを再度開くと、プロジェクトが期待どおりに読み込まれます。

念のため、フォルダーを削除する前に、VS のすべてのインスタンスを閉じてください。

csproj ファイルに次の行がありました。

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

このファイルを削除すると、正常に動作するようになります。

次のようなエラーが発生した場合は、 Microsoft.CSharp.Core.targets not found, 、これらは私が修正するために行った手順です。

  1. 以前に作業していたプロジェクトのフォルダーを開き、エラーに表示されたリンクに移動します。 Projects/(working project name)/packages/Microsoft.Net.Compilers.1.3.2/tools/ そして検索してください Microsoft.CSharp.Core.targets ファイル。

  2. このファイルをコピーして、動作していないプロジェクトに置きます tools folder (つまり、上記のように、動作していないプロジェクトのツール フォルダーに移動します)

  3. 次に、プロジェクトを閉じて (開いている場合)、再度開きます。

今は動作しているはずです。

また、現在開いている Visual Studio プロジェクトですべてが適切に動作していることを確認するには、次の場所に移動します。 Tools > NuGetPackage Manager > Manage NuGet Packages For Solution. 。ここで、「CodeAnalysis.dll は別のアプリケーションによって使用されています」というエラーが表示される場合があります。

もう一度、に行きます tools folder, 、指定されたファイルを見つけて削除します。戻ってきて Manage NuGet Packages For Solution. 。再読み込みを求めるリンクが表示されるので、それをクリックすると、すべてが再インストールされます。

プロジェクトは現在適切に動作しているはずです。

Windowsを再インストールした後にこれが発生しました。Visual Studio がインストールされており、[新しいプロジェクト] ウィンドウに Silverlight プロジェクトの種類が表示されましたが、開いても機能しませんでした。解決策は簡単でした。Silverlight Developer ランタイムや Microsoft Silverlight 4 Tools for Visual Studio をインストールする必要がありました。これはばかげているように思えるかもしれませんが、Silverlight プロジェクト タイプが利用可能だったので、うまくいくはずだと思って見落としていました。

さて、これが次のように言われたらどうなるでしょう:GT/LTサインの間

インポートプロジェクト= "$(msbuildextensionspath) microsoft silverlight v3.0 microsoft.silverlight.csharp.targets" /

ターゲットエラーを修正するにはどうすればよいですか?

また、デモ プロジェクト (具体的には、Rob Eisenburg の「Build your own MVVM Framework」) でインポート文字列を見つけました。

そのインポートを lomaxx VS2010 が提案するインポートに置き換える場合、インストールする必要があるという RTM レポートが表示されます。 これ.

エラーの場合 Microsoft.WebApplications.targets, 、 あなたはできる:

  1. Visual Studio 2010 (または開発マシンと同じバージョン) を TFS サーバーにインストールします。
  2. 「」をコピーしますMicrosoft.WebApplication.targets」を開発マシンのファイルから TFS ビルド マシンにコピーします。

こちらです ポスト。

私の場合は、.csproj ファイルをメモ帳で開き、次の 3 行を削除しました。魅力的に機能しました:

<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" />

このエラーは、SL 5 がインストールされているときに、SL 4 でビルドされた Silverlight プロジェクトを開いたときにも発生する可能性があります。

エラー メッセージの例を次に示します。インポートされたプロジェクト "C:\Program Files (x86)\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.CSharp.targets" が見つかりませんでした。

v4.0に注意してください。

解決するには、プロジェクトを編集して以下を見つけます。

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

そしてv5.0に変更します。

次に、プロジェクトをリロードすると、プロジェクトが開きます (SL 5 がインストールされていない場合を除く)。

obj フォルダーを削除すると、プロジェクトが期待どおりにロードされました。

場合によっては、.csproj ファイル内のハードコードされた VS バージョンに問題がある可能性があります。csproj に次のようなものがある場合:

[...]\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets"

番号が正しいかどうかを確認する必要があります (番号が間違っている理由は、プロジェクトが別のバージョンの Visual Studio で作成された可能性があります)。間違っている場合は、現在のバージョンのビルド ツールに置き換えるか、VS 変数を使用します。

[...]\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets"

Ansible プレイブックの実行中にこの問題に遭遇したので、ここに 2 セント追加したいと思います。Visual Studio 14 が見つからないことに関する警告メッセージが表示されていることに気付きました。Visual Studio バージョン 14 は 2015 年にリリースされ、私の問題の解決策は、Azure DevOps エージェントのホスト マシンに Visual Studio 2015 Professional をインストールすることでした。

復元を試行し、VSを閉じ、失敗したパッケージを削除し、再度開いて復元を試行した後、パッケージ内のすべてを削除しただけで、復元を実行すると完全に機能しました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top