回答:
csprojファイルをメモ帳(またはnotepad ++)で開きます。行を見つけます。
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
そしてそれを
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
これはグローバルなソリューションであり、特定のパッケージやビンに依存していません。
私の場合、ルートディレクトリからPackagesフォルダーを削除しました。
パッケージが存在するために発生する可能性がありますが、コンパイラが参照を見つけていません。したがって、最初に古いパッケージを削除し、新しいパッケージを追加します。
新しいパッケージを追加する手順
これは適切な解決策ではありませんが、同じ問題に直面しているため、ここに投稿しました。
私の場合、私はビジュアルスタジオで自分のソリューションを開くことさえできず、他のSOの回答について何の助けも得ませんでした。
Microsoft.CSharp.targets
ました。何らかの理由でファイルが削除されました!あなたが言ったように、私はpackages
フォルダーを削除してVisual Studioを再起動しました、魔法のようにそれはうまくいきました!
私にとって問題は、プロジェクトのパスに%20文字が含まれていたことでした。これは、リポジトリの複製時にgitがスペースではなくそれらを追加したためです。別の問題は、パッケージへのパスが長すぎる場合です。
git clone <RepoUrl> <LocalDirName>
して、%20を回避するために複製するディレクトリの名前を指定できます
というエラーが発生した場合はMicrosoft.CSharp.Core.targets not found
、次の手順で私の問題を修正します。
以前の作業プロジェクトフォルダーを開き、エラーに示されているリンクに移動します。つまりProjects/(working project name)/packages/Microsoft.Net.Compilers.1.3.2/tools/
、Microsoft.CSharp.Core.targets
ファイルを検索します。
このファイルをコピーして、非稼働プロジェクトに配置しますtools folder
(つまり、上記の非稼働プロジェクトのtoolsフォルダーに移動します)。
プロジェクトを閉じて(開いていた場合)、再度開きます。
これで動作するはずです。
また、現在開いているVisual Studioプロジェクトですべてが正しく機能していることを確認するには、に移動しTools > NuGetPackage Manager > Manage NuGet Packages For Solution
ます。ここでは、CodeAnalysis.dllが別のアプリケーションによって使用されているというエラーが見つかることがあります。
もう一度、に移動し、tools folder
指定したファイルを見つけて削除します。に戻ってくださいManage NuGet Packages For Solution
。リロードを要求するリンクが表示され、それをクリックすると、すべてが再インストールされます。
これでプロジェクトは正常に機能するはずです。
Windowsを再インストールした後、これを取得しました。Visual Studioがインストールされており、[新しいプロジェクト]ウィンドウにSilverlightプロジェクトタイプが表示されましたが、プロジェクトタイプを開くことができませんでした。解決策はシンプルでした。SilverlightDeveloperランタイムやMicrosoft Silverlight 4 Tools for Visual Studioをインストールする必要がありました。これは馬鹿げているように見えるかもしれませんが、Silverlightプロジェクトタイプが利用可能だったので、うまくいくと思ったので見落としました。
私の場合、.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')" />
わかりましたので、次のように言った場合:gt / lt記号の間
Import Project = "$(MSBuildExtensionsPath)\ Microsoft \ Silverlight \ v3.0 \ Microsoft.Silverlight.CSharp.targets" /
ターゲットエラーを修正するにはどうすればよいですか?
また、デモプロジェクト(特に、Rob Eisenburgによる「Build your own MVVM Framework」)でインポート文字列を見つけました。
そのインポートをlomaxx VS2010 RTMによって提案されたものに置き換えると、これをインストールする必要があると報告されます。
このエラーは、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がインストールされていない場合を除く)。
時々、問題は.csprojファイルのハードコードされたVSバージョンにあるかもしれません。あなたがcsprojに次のようなものがある場合:
[...]\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets"
番号が正しいかどうかを確認する必要があります(プロジェクトが別のバージョンのVisual Studioで作成されたことが原因である可能性があります)。間違っている場合は、ビルドツールの現在のバージョンに置き換えるか、VS変数を使用します。
[...]\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets"
Microsoft.CSharp.Targets
必要がありMicrosoft.CSharp.targets
ました.csproj
。