2016-04-25 8 views
1

私はXamarin Formsアプリケーションを作成しました。私はカラーコードのようなUI定数を保持するための別のPCLライブラリを作成しました。Xamarinフォームでxmlnsを定義する

ポータブルプロジェクト名はAppです。 PCLライブラリプロジェクトはユーティリティです。

namespace App.Utilities 
{ 
    public class Colors 
    { 
     public static Color ColorCode1 = Color.Aqua; 
    } 
} 

libに私のPCLでこれを定義 は、このようなxcmlファイル内のxmlnsを定義しようとしました。

xmlns:colors="clr-namespace:App.Utilities.Colors;assembly=App.Utilities" 

しかし、上記の名前空間が見つからないというxaml解析例外がスローされています。

助けが必要ですか?

答えて

2

XMLNS宣言の構文が正しい。名前空間にはクラス名を含める必要はありません。だからこの場合、名前空間はApp.Utilitiesでなければならず、App.Utilities.Colorsでなければなりません。それを

xmlns:colors="clr-namespace:App.Utilities;assembly=App.Utilities" 

に変更すると、アセンブリ名が正しいことが条件です。

アセンブリ名が正しいかどうかは、PCLフォームのprject> Options> Output(Under Under)を右クリックして確認できます。正しいアセンブリ名が表示されます。あなたは私を救っ

enter image description here

+0

。しかし私にはもう一つの問題があります。 HelloWorld.iOSとHelloWorld.Droidは、それぞれiOSとAndroidプラットフォームにあります。このプラットフォームを普遍的に定義する方法はありますか? –

+0

あなたの要件は私には分かりません。もう少し説明できますか? – Sreeraj

+0

プロジェクトを右クリックしてアセンブル名を調べることに言及しました。私のアプリは、iOSとAndroidの両方のプロジェクトを同じソリューションに持つクロスプラットフォームアプリです。 iOSプロジェクトのアセンブル名はHelloWord.iOSで、Androidプロジェクトの場合はHelloWord.Droidです。 –

関連する問題