インポートされたプロジェクト「C:\Microsoft.CSharp.targets」が見つかりませんでした
-
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
, 、これらは私が修正するために行った手順です。
以前に作業していたプロジェクトのフォルダーを開き、エラーに表示されたリンクに移動します。
Projects/(working project name)/packages/Microsoft.Net.Compilers.1.3.2/tools/
そして検索してくださいMicrosoft.CSharp.Core.targets
ファイル。このファイルをコピーして、動作していないプロジェクトに置きます
tools folder
(つまり、上記のように、動作していないプロジェクトのツール フォルダーに移動します)次に、プロジェクトを閉じて (開いている場合)、再度開きます。
今は動作しているはずです。
また、現在開いている 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
, 、 あなたはできる:
- Visual Studio 2010 (または開発マシンと同じバージョン) を TFS サーバーにインストールします。
- 「」をコピーします
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を閉じ、失敗したパッケージを削除し、再度開いて復元を試行した後、パッケージ内のすべてを削除しただけで、復元を実行すると完全に機能しました。