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, где они использовались, работали нормально. Только после того, как я попытался создать их из другого проекта, он не сработал. Я изменил это, чтобы исправить ошибку, и возвращение к старому методу может быть проблематичным.

Редактировать:&nbsp;Вот лучшее, что я могу сделать в плане отображения словаря ресурсов, который я использую

<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 пространств имен, не генерирующих ошибку. Тогда я заметил, что в пути сборки есть буква без заглавной буквы, которая должна быть. Странно то, что автозаполнение фактически вставляет эту ошибку самостоятельно. Пока мы составляли, я заметил ошибочное письмо. Более странно то, что после того, как я исправил все пути вручную, мы снова попробовали автозаполнение, и оно записало его правильно.

Я не знаю причину ошибочного автозаполнения, но с фиксированной буквой он компилируется просто отлично.

Теперь мне просто интересно, если кто-нибудь поверит, что автозаполнение изменилось на меня!