Я сталкиваюсь со следующей ошибкой компиляции при попытке создать новое пространство имен XAML для моего текущего проекта
Error: Failed to resolve assembly: 'TodoQ.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'
Я использую пользовательские элементы управления как из моего, так и из внешнего проекта, и компилятор никогда не жаловался ни на то, ни на другое. Вот XAML (эллипсы - это некоторые другие стандартные пространства имен, которые я решил опустить):
<ContentPage xmlns:util="clr-namespace:TodoQ.Utilities"
xmlns:custom="clr-namespace:TodoQ.Controls"
xmlns:swipecards="clr-namespace:SwipeCards.Controls;assembly=SwipeCards.Controls"
... x:Class="TodoQ.Views.ItemsPage" Title="{Binding Title}" x:Name="BrowseItemsPage">
Как видите, у меня есть два пространства имен, которые относятся к моему текущему проекту Xamarin.Forms. Пространство имен custom
работает, но если я пытаюсь использовать util
, я получаю вышеуказанную ошибку. С другой стороны, пространство имен swipecards
отлично работает.
Я попытался указать сборку, например xmlns:util="clr-namespace:TodoQ.Utilities;assembly=TodoQ"
, но, похоже, это не имеет значения.
Мое единственное использование util
до сих пор пыталось добавить конвертер:
<Grid.Resources>
<util:IsZero x:Key="IsZero" />
</Grid.Resources>
Кто-нибудь знает, что я делаю не так? Я практически рву волосы здесь. С WPAM-версией XAML все намного проще, кажется, там все работает.
РЕДАКТИРОВАТЬ: Вот файл утилит в соответствии с просьбой:
using System;
using System.Globalization;
using Xamarin.Forms;
namespace TodoQ.Utilities
{
public class IsZero : IValueConverter
{
public object Convert(object value,
Type targetType,
object parameter,
CultureInfo language)
{
return ((int)value) == 0;
}
public object ConvertBack(object value,
Type targetType,
object parameter,
CultureInfo language)
{
throw new NotImplementedException();
}
}
}