2016-04-25 70 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。 –