标记中的Xamarin.Forms ViewModel不会加载dll

时间:2016-11-11 20:07:57

标签: c# xaml mvvm xamarin

我正在尝试在我的Xamarin.Forms App.xaml的标记中定义一个viewmodel类。

<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>

我收到此错误: 未处理的例外:

System.IO.FileNotFoundException:无法加载文件或程序集“MyPCL.Client”或其依赖项之一。

但如果我在app.xaml.cs中声明并初始化此类,则可以正常工作。为什么这会加载代码而不是标记?

1 个答案:

答案 0 :(得分:1)

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

您可以阅读有关链接器及其不同设置here的更多信息。