我有一个 Xamarin.Forms 应用程序。该项目结构比常规 Xamarin.Forms 解决方案稍微复杂一些。
我有特定于平台的项目:
- MyApp.Android
- MyApp.iOS
- MyApp.UWP
我有一个用于 .xaml 页面定义的 .net 标准库项目:
- MyApp.UI(由特定于平台的项目引用)
我有一个用于 .xaml 页面基类的 .net 标准库项目:
- MyApp.UI.Base(由 MyApp.UI 引用)
我在 MyApp.UI.Base 中有一个 PageBase 类。 假设我有这样的 Login.xaml:
<?xml version="1.0" encoding="utf-8" ?>
<base:PageBase xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:base="clr-namespace:MyApp.UI.Base;assembly=MyApp.UI.Base" ...>
...
</base:PageBase>
Login.cs 中的类型也是正确的:
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class Login : PageBase
{
// ...
}
当我编译解决方案时,出现以下错误:
无法解析程序集或 Windows 元数据文件“类型 Universe 无法解析程序集:MyApp.UI.Base、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null。”
这个错误似乎完全错误,我尝试了其他解决方案,例如删除 .vs 文件夹或恢复 nuget 包,但都不起作用。
我可以不拥有来自不同程序集的 xaml 页面的基类吗?
最佳答案
问题在于项目 MyApp.UI.Base 未从 MyApp.UWP 项目引用。添加引用解决了这个问题。我猜这个错误是对的,只是不那么准确。
关于xaml - Xamarin.Forms:无法解析程序集或 Windows 元数据文件 'Type universe cannot resolve assembly: MyApp.UI.Base...',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52101145/