2016-03-22 35 views
2

空のWebAPIプロジェクトを作成し、プロジェクトをTFSにチェックインしました。私は同じエラーについての以前のトピックでアドバイスとして.csprojファイルからブロックを後に除去TFS msbuild Nugetパッケージがありません

Error : This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105 . The missing file is ..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props.

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> 
    <PropertyGroup> 
     <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> 
    </PropertyGroup> 
    <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" /> 
    <Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" /> 
    </Target> 

私はTFSのビルド.csprojからこのXML部分を削除した後、私は、ビルドで次のエラーを得ました成功する。なぜVisual Studio 2015を追加するのですか?ターゲットが .csprojの内部にあり、TFSビルドに失敗します。

答えて

1

Microsoft.Net.CompilersパッケージとNuGetは、これらのPropsのインポートを追加しました。

パッケージにはMSBuildプロパティのセットが含まれています。開発者は、このプロジェクトでは、あなたのプロジェクトでは、それらが邪魔にならないようにコンパイルできることを提案しています。

プロジェクトのビルド時にこれらのプロパティをMSBuildにインポートするには、パッケージのインストール中にcsprojファイルが編集されて存在するかどうかがチェックされ、エラーが発生します。

通常、ビルド中にNuGetパッケージを復元していないとエラーが表示されます。「エラー」状態のパスを見ると、そこにMicrosoft.Net.Compilers.1.0.0フォルダがありますか?

パッケージをアップグレードすると(1.1.1など)、インポートが間違ったパスになることがあります。

+0

フォルダがあり、.propsファイルもあります。 –

関連する問題