使用netstandard的Xamarin Forms项目:无法构建UWP

6

目前我正在开发一个使用.Net-Standard代码共享策略的Xamarin应用程序。虽然我可以在Android上成功构建和运行,但是我在UWP项目中遇到了一些问题。

当我尝试构建该项目时,我收到以下错误消息:

无法复制文件“obj\x86\Debug\myapp.UWP.xr.xml”,因为找不到该文件。

无法复制文件“obj\x86\Debug\MainPage.xbf”,因为找不到该文件。

无法复制文件“obj\x86\Debug\App.xbf”,因为找不到该文件。

无法解析程序集或Windows元数据文件“Type universe cannot resolve assembly: myapp.Basic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.'

当我查找这些错误消息时,我在stackoverflow上找到了这个帖子:

Missing xaml.xr of a class library file in UWP

该帖子建议在包含XAML代码的项目中启用“生成库布局”,这看起来非常有前途,因为myapp.Basic项目包含一些XAML代码。不幸的是,在.Net-standard项目中完全没有这个选项。

有人能帮我解决这个问题吗?


你尝试过在构建之前清理解决方案并重新部署它吗? - Nico Zhu
当然,这是我尝试的第一件事 :) - Ced
而且这个选项只适用于“ClassLibrary”。 - Nico Zhu
您可以尝试手动删除 UWP 项目中的 binobj 文件夹。 - Nico Zhu
请确保 UWP 的 MinTarget Build 设置至少为 Build 16299。 - magicandre1981
最终,我们通过删除并重新添加所有引用来解决了这个问题。 - Ced
2个回答

5
在您的UWP项目中,手动添加对任何额外的.Net标准类库项目的引用,对于您的情况,是添加对myapp.Basic的引用。

1
当我将一个UWP项目添加到现有的Xamarin.Forms项目中时,这对我很有帮助。谢谢! - Amir Hajiha

4
确保您在解决方案中为UWP项目添加了所有 .Net Standard类库引用。对于Android和IOS项目,只需添加主共享代码项目的引用即可;但是对于UWP,如果您有一个额外的类库项目,您的共享代码项目使用它,您还需要将此项目作为UWP项目的引用添加。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接