Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio Xamarin跨平台共享项目的Nuget包_Visual Studio_Xamarin_Xamarin.forms_Nuget_Nuget Package - Fatal编程技术网

Visual studio Xamarin跨平台共享项目的Nuget包

Visual studio Xamarin跨平台共享项目的Nuget包,visual-studio,xamarin,xamarin.forms,nuget,nuget-package,Visual Studio,Xamarin,Xamarin.forms,Nuget,Nuget Package,右键单击跨平台解决方案中的共享项目,“管理NuGet软件包”菜单选项被禁用。使用“NuGet Package Manager for Solution”,它不会将共享项目显示为可安装到的项目。共享项目是否不可扩展?包是否必须手动安装?A只是包含在另一个“父”项目中的源文件的集合。您不能直接编译它,也不能添加引用或包。它从编译时处于活动状态的任何父项目继承其环境(包括包)。A只是包含在另一个“父”项目中的源文件的集合。您不能直接编译它,也不能添加引用或包。它从编译时处于活动状态的任何父项目继承其环

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

A只是包含在另一个“父”项目中的源文件的集合。您不能直接编译它,也不能添加引用或包。它从编译时处于活动状态的任何父项目继承其环境(包括包)。

A只是包含在另一个“父”项目中的源文件的集合。您不能直接编译它,也不能添加引用或包。它从编译时处于活动状态的任何父项目继承其环境(包括包)。

若要安装包,该项目必须具有目标。这是必要的,因为包与每个目标不兼容。共享项目没有任何目标,可以与具有不同目标的不同项目共享,因此包可能无法在所有项目上运行。

若要安装包,项目必须具有目标。这是必要的,因为包与每个目标不兼容。共享项目没有任何目标,可以与具有不同目标的不同项目共享,因此包可能无法对所有目标都起作用

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

正如Jason所说,共享项目基本上只是一个包含代码文件的文件夹。它们不像您习惯的其他项目类型那样生成任何输出。它们中的任何东西都会链接到引用它的项目中

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

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

要跟踪此问题,您可以参考以下线程:

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

正如Jason所说,共享项目基本上只是一个包含代码文件的文件夹。它们不像您习惯的其他项目类型那样生成任何输出。它们中的任何东西都会链接到引用它的项目中

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

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


要跟踪此问题,您可以参考此线程:

此评论可能对您的没有帮助,但您是否有理由需要使用“共享项目”,而不是PCL或.NET标准库?此评论可能对您的没有帮助,但您是否有理由需要使用“共享项目”,而不是PCL或.NET标准库?Nuget包现在是否标记为跨平台兼容,因此可用于共享项目?或者它们完全不可扩展?Nuget软件包可能涵盖多个平台,但这并不意味着它们涵盖了您能想到的所有平台(尤其是传统平台)。他们不必这样做,他们可以只覆盖一个平台。Nuget软件包现在是否标记为跨平台兼容,从而可用于共享项目?或者它们完全不可扩展?Nuget软件包可能涵盖多个平台,但这并不意味着它们涵盖了您能想到的所有平台(尤其是传统平台)。在编写共享代码时,您是否仅限于使用可安装到所有平台的软件包扩展?例如,OData已安装到所有平台,我可以使用OData编写共享代码吗?编译器是否为每个平台构建共享代码二进制文件?是否为单个库创建平台重定向表?在共享代码中创建特定于平台的分支?@MarcGeorge您不受任何限制。但是,如果您使用的代码需要另一个平台中不可用的包,则除非您在那里安装某个包,或使用#if指令将其从编译中删除,否则该代码将无法编译。在编写共享代码时,您是否仅限于使用可安装到所有平台的包的扩展?例如,OData已安装到所有平台,我可以使用OData编写共享代码吗?编译器是否为每个平台构建共享代码二进制文件?是否为单个库创建平台重定向表?在共享代码中创建特定于平台的分支?@MarcGeorge您不受任何限制。但是,如果您使用的代码需要在另一个平台上不可用的包,那么除非您在那里安装某个包,或者使用#if指令将其从编译中删除,否则该代码将无法编译。Leo,如果需要将NuGet包“添加”到共享项目中,我的说法是否正确,那么最好有一个单独的项目,您将向其中添加与共享项目相同的解决方案中的NuGet包?Leo,我是否可以正确地说,如果需要向共享项目“添加”NuGet包,那么最好有一个单独的项目,您将向其中添加NuGet包与共享项目在同一个解决方案中?