我在 Visual Studio 下为我的项目启用了自动恢复功能,但是当我切换到 MAC 和 Xamarin Studio 时,我无法恢复这些包:
xxx.csproj:错误:此项目引用了此计算机上缺少的 NuGet 包。启用 NuGet 包还原以下载它们
我在 Visual Studio 下为我的项目启用了自动恢复功能,但是当我切换到 MAC 和 Xamarin Studio 时,我无法恢复这些包:
xxx.csproj:错误:此项目引用了此计算机上缺少的 NuGet 包。启用 NuGet 包还原以下载它们
通过启用自动恢复功能,我假设您指的是基于 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 中恢复,可以右键单击项目并选择“恢复包”。
您还可以通过右键单击解决方案并在 Xamarin-Studio 或 Visual-Studio 中选择“还原包”来手动还原。