2017-06-21 10 views
2

私はXamarin Formsアプリケーションを作成しています。ソリューションはRESTTestと呼ばれ、私の共有プロジェクトはRestAppと呼ばれています。私はコードビハインドMainPage.xaml.cs呼ばれていMainPage.xamlというページがありMainViewModel.csXamarin - タイプがxmlns clr-namespaceに見つかりません

と呼ばれるクラスが含まれています、私はViewModelsというフォルダを持っている私の共有プロジェクトでは、

。私のXAMLで私はこのように私のviewmodelsフォルダ含めるしようとしています:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
      xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
      xmlns:local="clr-namespace:RestApp" 
      x:Class="RestApp.MainPage" 
      xmlns:ViewModels="clr-namespace:RestApp.ViewModels;assembly=RestApp"> 

をしかし、私はこのように私のページへの結合を追加するとき:

<ContentPage.BindingContext> 
     <ViewModels:MainViewModel /> 
    </ContentPage.BindingContext> 

私は未処理の例外を取得しています:

Type ViewModels:MainViewModel not found in xmlns clr-namespace:RestApp.ViewModels;assembly=RestApp 

私は何が欠けていますか?

enter image description here

答えて

0

未使用のコードをトリムリンカの最適化を持っているとき、これは通常起こります。

型への逆シリアル化は、型の使用としてリンカーによって検出できない場合があることに注意してください。

プロジェクトのプロパティで、「iOSビルド」または「Androidビルド」の下の「リンカの動作」オプションを見つけて、「SDKアセンブリのみをリンクする」または「リンクしない」に設定します。変更を有効にするには、ソリューション全体をクリーンアップして再構築する必要があります。

+0

こんにちはSten、 'Android Options'の' Linking'で、現在 'None'に設定されています。正しいですか、" Do not Link "オプションが表示されません。 –

+0

@BarneyChambersはい、そうですさあ。それでも見つからない場合は、アンドロイドアプリのメインメソッドで、Xamarin.Froms.Initが呼び出されます。オブジェクトタイプ= typeof(ViewModels.MainViewModel)を追加して、タイプがコンパイル時に到達できることを確認します –

+0

Iすべてのリンク順列を試してみましたが、残念ながらこれで問題は解決しませんでした –

0

名前空間で "; assembly = RestApp"を削除し、リンカーの動作を "Link SDK Assemblies Only"に設定して問題を解決しました。

関連する問題