2016-11-11 5 views
0

私のXamarin.Forms App.xamlのマークアップでviewmodelクラスを定義しようとしています。 未処理の例外:マークアップのXamarin.Forms ViewModelがDLLをロードしません

System.IO.FileNotFoundException:ファイルまたはアセンブリ 'MyPCL.Client' またはその依存関係の1つをロードできませんでした

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

は、私はこのエラーを取得します。

私はapp.xaml.csでこのクラスを宣言して初期化すると問題なく動作します。なぜマークアップではなくコードの後ろにロードされますか?

答えて

1

Xamarinリンカは、参照されていないライブラリやクラスを削除することによって、アプリケーションのサイズを最小限に抑えます。どうやらXAMLだけでそれを宣言するだけでは、リファレンスが存在することをリンカーに認識させるには不十分です(これはXamarinでファイルするべきであるかもしれません)。 App.xaml.csで参照を追加すると、リンカーはそれを保持します。

リンカーとその異なる設定hereについて詳しく読むことができます。

+0

これでうまくいきましたが、今はXamarin.Forms.Xaml.XamlParseException:Position 10:6を取得しました。プロパティ "Resources"を割り当てることはできません: "MyPCL.Client.ViewModels.MainViewModel"と "Xamarin.Forms.ResourceDictionary"の間の型の不一致 – shady

+0

@shady参照http://stackoverflow.com/questions/40518329/unfortunately-myapp-android-has上記のコメントに記載されているエラーの解決方法については、-stopped-with-contentpage-resource-in-xaml-file/40519339#40519339を参照してください。 – matthewrdev

関連する問題