2016-04-25 3 views
1

Я создал приложение Xamarin Forms. Я создал еще одну библиотеку PCL для хранения констант пользовательского интерфейса, таких как цветовые коды.Определить xmlns в формах Xamarin

Портативное название проекта - приложение. Проект библиотеки PCL - утилиты. Определяется это в моем PCL Lib

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

пытался определить Xmlns в xcml файл, как это.

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 Forms prject> Options> Output (Under Build). Там мы видим правильное имя сборки.

enter image description here

+0

Вы только что спасли меня. Но у меня есть еще одна проблема. Я вижу HelloWorld.iOS и HelloWorld.Droid на платформах iOS и Android соответственно. Есть ли способ определить эту платформу повсеместно? –

+0

Ваше требование не кажется мне понятным. Можете ли вы объяснить немного больше? – Sreeraj

+0

Вы упомянули название сборки, щелкнув правой кнопкой мыши по проекту. Мое приложение - это кросс-платформенное приложение, в котором есть проекты iOS и Android в одном и том же решении. Название сборки для проекта iOS - HelloWord.iOS, а для Android - это HelloWord.Droid. –

Смежные вопросы