【问题标题】:NuGet package(s) that are missing in Xamarin FormsXamarin 窗体中缺少的 NuGet 包
【发布时间】:2014-09-18 05:44:01
【问题描述】:
移动 Xamarin 表单项目时出现以下错误。
此项目引用了此项目中缺少的 NuGet 包
电脑。启用 NuGet 包还原以下载它们。更多
信息,请参阅http://go.microsoft.com/fwlink/?LinkID=322105。这
丢失的文件是
....\packages\Xamarin.Forms.1.0.6186\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10\Xamarin.Forms.targets。
我找不到任何解决方案来解决这个问题。
【问题讨论】:
标签:
xamarin
xamarin.forms
【解决方案1】:
升级 Xamarin.Forms 时,.csproj 中的剩余指令也可能存在问题。因此,请检查您使用的 XF 版本并删除 .csproj 中指令引用错误版本的所有行。它们通常位于文件的底部。
【解决方案2】:
以下故障排除文章记录了此错误消息的最常见原因和解决方法:
https://developer.xamarin.com/guides/cross-platform/troubleshooting/questions/nuget-packages-missing/
本质上,NuGet 硬编码的某些配置将包导入到 .csproj 文件本身中。我最常看到这种行为是在 Visual Studio 中创建 Xamarin.Forms 应用程序并迁移到 Xamarin Studio 时;但是在其他情况下也可能发生。
.csproj 文件中的违规行如下所示:
<Reference Include="Xamarin.Forms.Maps">
<HintPath>..\..\packages\Xamarin.Forms.Maps.1.3.1.6296\lib\portable-win+net45+wp80+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Maps.dll</HintPath>
</Reference>
<Import Project="..\..\packages\Xamarin.Forms.1.3.1.6296\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.1.3.1.6296\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
<Error Condition="!Exists('..\..\packages\Xamarin.Forms.1.3.1.6296\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.1.3.1.6296\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets'))" />
删除这些行(或将它们注释掉)通常可以解决问题。
【解决方案3】:
上述问题已通过将package 文件夹移动到根文件夹来解决。
有什么办法可以改变包文件夹路径吗?