Xamarin的.标记中的窗体ViewModel不加载dll

本文关键字:加载 dll ViewModel Xamarin 窗体 | 更新日期: 2023-09-27 18:17:35

我试图在Xamarin的标记中定义一个视图模型类。App.xaml形式。

<xml version="1.0" encoding="utf-8" ?>
<Application xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:viewModels="clr-namespace:MyPCL.Client.ViewModels;assembly=MyPCL.Client"
             x:Class="TestApp2.App">
  <Application.Resources>
    <viewModels:MainViewModel x:Key="MainViewModel"/>
  </Application.Resources>
</Application>

我得到这个错误:未处理的例外:

先。FileNotFoundException:无法加载文件或程序集。客户端或其依赖项之一。

,但如果我声明并初始化这个类在我的app. example .cs,它工作得很好。为什么这会在代码中加载,而不是在标记中加载?

Xamarin的.标记中的窗体ViewModel不加载dll

Xamarin链接器会自动尝试通过删除未被引用的库和类来最小化应用程序的大小。显然,仅在XAML中声明它不足以使链接器识别引用的存在(这可能是您应该在Xamarin中提交的一个错误)。在app . example .cs中添加引用会强制链接器保留它。

您可以在这里阅读更多关于链接器及其不同设置的信息