2016-04-25 93 views
1

我創建了一個Xamarin Forms應用程序。我創建了另一個PCL庫來保存UI常量,如顏色代碼。在Xamarin Forms中定義xmlns

便攜式項目名稱是App。 PCL庫項目是Utilities。 在我的PCL定義這個LIB

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

試圖在這樣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窗體項目>選項>輸出(在構建下)來驗證程序集名稱是否正確。在那裏我們可以看到正確的程序集名稱。

enter image description here

+0

你剛剛救了我。但我還有一個其他問題。我分別在iOS和Android平臺上看到HelloWorld.iOS和HelloWorld.Droid。有沒有辦法來普遍定義這個平臺? –

+0

您的要求對我來說似乎並不明顯。你能多解釋一下嗎? – Sreeraj

+0

您已經提到要通過在項目上單擊右鍵來查看彙編名稱。我的應用程序是一個跨平臺的應用程序,它在同一解決方案中同時擁有iOS和Android項目。 iOS項目的彙編名稱是HelloWord.iOS,Android項目的彙編名稱是HelloWord.Droid。 –