Xamarin跨平台共享项目的Nuget包

时间:2018-01-20 23:57:48

标签: visual-studio xamarin xamarin.forms nuget nuget-package

在跨平台解决方案中右键单击共享项目,"管理NuGet包"菜单选项已禁用。使用" NuGet Package Manager for Solution",它不会将共享项目显示为可安装的项目。共享项目是否不可扩展?是否必须手动安装包?

3 个答案:

答案 0 :(得分:3)

shared project只是一个源文件的集合,包含在另一个" parent"项目。您不能直接编译它,也不能添加引用或包。它从编译时活动的任何父项目继承其环境(包括包)。

答案 1 :(得分:1)

要安装包,项目必须具有目标。这是必要的,因为包与每个目标都不兼容。共享项目没有任何目标,可能与具有不同目标的各种项目共享,因此包可能不适用于所有目标。

答案 2 :(得分:1)

  

共享项目是否不可扩展?包裹是否必须手动安装?   在编写共享代码时,您是否仅限于使用可以安装到所有平台的软件包扩展?

正如杰森所说,共享项目基本上只是一个包含代码文件的文件夹。它们不像您习惯的其他项目类型那样构建任何输出。它们中的任何内容都与引用它的项目相关联。

要解析共享项目的nuget包,应该将NuGet包添加到您的iOS / Android / Windows项目而不是共享项目

在这种情况下,当您构建解决方案时,共享项目代码将可以访问iOS / Android / Windows项目。

要跟踪此问题,您可以参考以下主题:Add NuGet Packages is disabled