Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 缺少TFS msbuild Nuget包_Visual Studio_Tfs_Msbuild - Fatal编程技术网

Visual studio 缺少TFS msbuild Nuget包

Visual studio 缺少TFS msbuild Nuget包,visual-studio,tfs,msbuild,Visual Studio,Tfs,Msbuild,我创建了一个空的WebAPI项目,并将该项目签入TFS。我在生成时遇到以下错误: 错误:此项目引用了上缺少的NuGet包 这台电脑。使用NuGet Package Restore下载它们。更多 有关详细信息,请参阅。这个 丢失的文件是 ..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props 然后,我从.csproj文件中删除了以下块,如前面主题中关于相同错误的建议: <Target Na

我创建了一个空的WebAPI项目,并将该项目签入TFS。我在生成时遇到以下错误:

错误:此项目引用了上缺少的NuGet包 这台电脑。使用NuGet Package Restore下载它们。更多 有关详细信息,请参阅。这个 丢失的文件是 ..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props

然后,我从.csproj文件中删除了以下块,如前面主题中关于相同错误的建议:

  <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>

此项目引用此计算机上缺少的NuGet包。使用NuGet Package Restore下载它们。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=322105. 缺少的文件是{0}。

从.csproj TFS build中删除此xml部分后,将成功生成。我想了解为什么Visual Studio 2015在.csproj中添加了以下Target部分,从而导致TFS构建失败。

Microsoft.Net.Compilers包和NuGet添加了这些道具导入

包(从1.1.1开始)包含一组MSBuild属性,开发人员建议您的项目必须使用这些属性,以确保可以按照他们自己的方式对其进行编译

为确保在生成项目时将这些属性导入MSBuild,将在包安装期间编辑csproj文件,以包括检查它们是否存在,或引发错误

通常在生成过程中没有还原NuGet包时会看到错误,如果查看“错误”条件下的路径,
Microsoft.Net.Compilers.1.0.0
文件夹是否在那里


有时,当您升级包(例如升级到1.1.1)时,导入路径错误,就会发生这种情况。

文件夹在那里,还有.props文件。