在Xamarin Forms中定义xmlns

我创建了一个Xamarin Forms应用程序。 我创建了另一个PCL库来保持像颜色代码这样的UI常量。

便携式项目名称是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解析exception,说无法找到上面的命名空间。

有帮助吗?

XMLNS声明语法是正确的。 命名空间不需要包含类名。 所以在这种情况下,Namespace必须只是App.Utilities而不是App.Utilities.Colors 。 将其更改为

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

如果您的程序集名称正确,将会工作。

右键单击PCL Forms prject> Options> Output(Under Build),可以validation程序集名称是否正确。 在那里我们可以看到正确的程序集名称。

在此处输入图像描述