NuGet包在visual studio 2015和Xamarin中引起麻烦

时间:2015-09-19 10:41:16

标签: c# android nuget visual-studio-2015 nuget-package

我正在尝试使用Xamarin和Visual Studio 2015与另一位拥有源代码控制权限的朋友创建一个Android应用程序。

一切顺利,直到我的朋友添加了一个项目并且他使用了NuGet包。

在我激活获取最新版本并尝试构建解决方案后,我收到了错误消息:

Severity    Code    Description Project File    Line
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.    iBuy.API    C:\Users\איציק\Source\Workspaces\iBuy\IBuy\iBuy.API\iBuy.API.csproj 164

我查找了一些针对此问题的解决方案并尝试卸载Microsoft.CodeDom.Providers.DotNetCompilerPlatform和Microsoft.Net.Compilers包并重新安装它们但它没有帮助。 我的解决方案中甚至没有\ packages \ Microsoft.Net.Compilers.1.0.0 \ build文件夹。

NuGet包恢复中的所有内容都已经过检查,我的解决方案中没有任何'.nuget'文件。

如何消除该错误消息?

提前谢谢!

1 个答案:

答案 0 :(得分:13)

将出现该错误消息,因为您没有.nuget \ NuGet.targets文件。

要解决此问题,您可以停止使用基于MSBuild的NuGet包还原,或将.nuget / NuGet.targets文件添加到源代码管理中。

NuGet团队不推荐使用基于MSBuild的NuGet包还原。它为项目文件(.csproj)添加了一些额外的元素:

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
  <PropertyGroup>
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable 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('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />

您可能在EnsureNuGetPackageBuildImports目标元素中有更多项目。您可以从项目文件中删除它们,而是依赖Visual Studio来恢复NuGet包。