Corret: xmlns: usercontrol = "clr-namespace: CCFARKS.UserControls"
шибка, кажется, опубликована повсюду, но у каждого, похоже, есть свое решение, ни одно из которых не решило мою проблему.
Я получаю сообщение об ошибке для словаря ресурсов, который я делаю (и позднее объединяю), что тег 'ModelBindings' не существует в пространстве имен XML 'clr-namespace: Company.Project.Module.Folder; assembly = Company.Project.Module'
Сборка, на которую я ссылаюсь, является пользовательской и содержится в решении. Мало того, но мы рассмотрели DLL, помещенную в корзину для проекта, в котором находится словарь ресурсов, и после проверки он содержит класс, на который я хочу ссылаться. Итак, я знаю, что 1. DLL находится в нужном месте для доступа и находится в ссылках. 2. DLL содержит данные, которые я хочу.
Вот несколько кусков кода для словаря ресурсов
Список пространства имен
xmlns:modulemodel="clr-namespace:Company.Project.Module.Folder;assembly=Company.Project.Module"
Создание ресурса для ссылки
<modulemodel:ModelBindings x:Key="ModuleModelBindings"/>
Как и ошибки других людей, intellisense говорит, что это кошерное. ТАКЖЕ листинг xmlns был создан с автозаполнением intellisense и перепечатан вручную. Ни один не работал.
Я также попытался переместить все в app.xaml, и он все еще дал мне ту же ошибку.
Если я удаляю тело файла ResourceDictionary, код компилируется нормально, но все привязки нарушаются.
Наконец, все определения ресурсов, которые должны были быть определены в файлах xaml, где они использовались, работали нормально. Только после того, как я попытался создать их из другого проекта, он не сработал. Я изменил это, чтобы исправить ошибку, и возвращение к старому методу может быть проблематичным.
Редактировать: Вот лучшее, что я могу сделать в плане отображения словаря ресурсов, который я использую
<SharedResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:modulemodel="clr-namespace:Company.Project.Module.Folder;assembly=Company.Project.Module"
>
<modulemodel:ModelBindings x:Key="ModuleModelBindings"/>
</SharedResourceDictionary>
если я заменяю SharedResourceDictionary на ResourceDictionary, возникает та же ошибка.
app.xaml и SharedResourceDictionary выше сравнительно находятся в пространстве имен Company.Project.Main и имеют ссылки как на то, где определен SharedResourceDictionary, так и на различные проекты модулей, которые я поместил в приведенный выше код
Решение
Похоже, это была в основном ошибка пользователя. Но это может случиться с другими. Когда я скопировал определение xmlns: moduleviewmodel из его исходного файла, мне пришлось добавить часть assembly = самостоятельно. Как я уже сказал, я сделал это сам, а также использовал автозаполнение, следующее из ввода 'xmlns: moduleviewmodel ='. Прямо перед тем, как мы нашли ошибку, мы снова попробовали автозаполнение, потому что обнаружили, что было одно из 7 пространств имен, не генерирующих ошибку. Тогда я заметил, что в пути сборки есть буква без заглавной буквы, которая должна быть. Странно то, что автозаполнение фактически вставляет эту ошибку самостоятельно. Пока мы составляли, я заметил ошибочное письмо. Более странно то, что после того, как я исправил все пути вручную, мы снова попробовали автозаполнение, и оно записало его правильно.
Я не знаю причину ошибочного автозаполнения, но с фиксированной буквой он компилируется просто отлично.
Теперь мне просто интересно, если кто-нибудь поверит, что автозаполнение изменилось на меня!