Visual Studio 2015でビルドしようとすると、次のファイルが見つかりませんか?このプロジェクトは以前VS2013でビルドされていました。
重大度コード説明プロジェクトファイルラインエラータスクファクトリ「CodeTaskFactory」をアセンブリ「C:\ Program Files(x86)\ MSBuild\14.0\bin\Microsoft.Build.Tasks.v14.0.dll」からロードできませんでした。ファイルまたはアセンブリ 'file:/// C:\ Program Files(x86)\ MSBuild\14.0\bin\Microsoft.Build.Tasks.v14.0.dll'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
アセンブリの名前が変更されました。 CodeTaskFactory MSBuildタスクのAssemblyFileパラメーターを...に変更します(エラーには、このタスクが存在するターゲットファイル名があるはずです)
AssemblyFile="C:\Program Files (x86)\MSBuild\14.0\Bin\Microsoft.Build.Tasks.Core.dll"
巧妙になり、このようなMSBuildプロパティを使用しようとする可能性があります(MSBuild 14では機能しませんが、12では機能します)...
AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v$(MSBuildToolsVersion).dll"
ただfyi ... Microsoft.Build.Utilities.v12.0.dll
がMicrosoft.Build.Utilities.Core.dll
に名前が変更されたなど、他にもいくつかあります
私の場合、SFML.NET nugetパッケージの問題でした。
古いNuget Baseclass.Contrib.Nuget.Outputコンポーネントに依存していたため、ビルドが失敗しました。
.Net 4.6に手動で更新した後、プロジェクトファイルからすべてのnugetスタッフを削除し、プロジェクトからそのファイルを削除し、Baseclass.Contrib.Nuget.Outputのバージョンが変更され、ビオラがすべての依存関係を再度追加しました!
Visual Studioを初めて再起動したとき、私のために働いた
もう一度このエラーが発生し、更新しました:
Install-Package Baseclass.Contrib.Nuget.Output -Version 2.2.0-xbuild02
Visual Studioを再起動するだけで十分でした。
以前に何か他のことをしているすべてのMSBuild.exeプロセスを強制終了し、MSBuild.exeプロセスがないとエラーが発生したのではないかと考えています。
ゲイリーの答えに続いて、私はこれを次のようにパラメーター化しました:
<Choose>
<When Condition="'$(MSBuildToolsVersion)'=='14.0'">
<PropertyGroup>
<TasksAssemblyName>Microsoft.Build.Tasks.Core</TasksAssemblyName>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<TasksAssemblyName>Microsoft.Build.Tasks.v$(MSBuildToolsVersion)</TasksAssemblyName>
</PropertyGroup>
</Otherwise>
</Choose>
<UsingTask TaskName="SecondsSinceEpoch" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\$(TasksAssemblyName).dll">
私の解決策:「* .csproj」ファイルから2つの行を削除します。
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
私の場合、ルートから「ls.pubignore.wpp.targets」ファイルを削除しました。そして、エラーを削除しました。 :)
私は同じ問題を抱えていました。私の場合、VS2015でNuGetパッケージマネージャーからいくつかのパッケージを更新し、vs2015がインストールされていない別のマシンでvs2013で同じソリューションを開こうとしました。
Microsoft Build Tools 2015をインストールすると、エラーが解決しました。これにより、Microsoft.Build.Utilities.Core.dllがGACに追加され、それが機能するものと考えます。
https://www.Microsoft.com/en-in/download/details.aspx?id=48159
Visual Studio 2017の場合、これは私にとって有効なものであり、提供されている2つのソリューションの組み合わせです。どちらも自分で働いたわけではないので、これが新しい答えとしてこれを提出する理由です。
ファイル内C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\VisualStudio\v15.0\CodeAnalysis\Microsoft.CodeAnalysis.Targets
AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v12.0.dll">
をAssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
に置き換えます
そして、_Microsoft.Build.Tasks.v15.0.dll
_という名前で同じフォルダーにファイルC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Build.Tasks.Core.dll
をコピーします