6

我在 Visual Studio 下为我的项目启用了自动恢复功能,但是当我切换到 MAC 和 Xamarin Studio 时,我无法恢复这些包:

xxx.csproj:错误:此项目引用了此计算机上缺少的 NuGet 包。启用 NuGet 包还原以下载它们

4

2 回答 2

4

通过启用自动恢复功能,我假设您指的是基于 MSBuild 的恢复,它将 NuGet.targets 文件添加到您的项目中。

该特定错误来自 MSBuild 文件:

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

错误情况表明它找不到 .nuget\NuGet.targets 文件。那么这存在吗?路径的大小写是否完全匹配?

另请注意,Mac 上的 NuGet.targets 文件存在问题,因为它使用了 Mono 不支持的 MSBuild 功能。可从codeplex获得的最新 NuGet.targets 文件可能会解决此问题。

删除基于 MSBuild 的包还原并为 Xamarin Studio 安装 NuGet 插件可能更容易,并使用 Xamarin Studio 内部的包还原功能。若要从 Xamarin Studio 中恢复,可以右键单击项目并选择“恢复包”。

于 2014-04-12T21:17:48.847 回答
0

您还可以通过右键单击解决方案并在 Xamarin-Studio 或 Visual-Studio 中选择“还原包”来手动还原。

于 2017-08-11T04:53:20.120 回答