Не удалось загрузить файл или сборку 'WPG, PublicKeyToken = null' или одну из ее зависимостей - PullRequest
2 голосов
/ 04 марта 2012

Я использую PRISM и новый элемент управления, который я нашел в CodePlex: Сетка свойств WPF

http://wpg.codeplex.com/

Пока я тестировал DEMO, все шло хорошо.

Я не начал использовать PRISM.Если я помещу элемент управления в оболочку, это тоже хорошо работает.Проблема в том, что, если я помещаю элемент управления в модуль, он выдает ошибку.

Не удалось загрузить файл или сборку 'WPG, PublicKeyToken = null' или одну из ее зависимостей.Система не может найти указанный файл.

Я действительно понятия не имею об этой ошибке.У кого-нибудь есть идеи как это исправить?

enter image description here

РЕДАКТИРОВАТЬ:

<UserControl x:Class="ConfigurationManagerModule.Views.ConfigurationView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:prism="http://www.codeplex.com/prism"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:wpg="clr-namespace:WPG;assembly=WPG"
    >

И этот пользовательский элемент управления является частью модуля

Ответы [ 3 ]

4 голосов
/ 04 марта 2012

Убедитесь, что ваши ссылки установлены правильно. Эта проблема возникала, когда Project B использовал сборку (например, WPG) в XAML, но Project A фактически создал экземпляр класса Project B. Добавление ссылки WPG на Проект A необходимо для синтаксического анализатора XAML, чтобы работать таким образом. Ссылка на проект B в проекте A недостаточна.

1 голос
/ 07 декабря 2012

У меня была такая же проблема при работе на Visual Studio 2010, SP1 и Team Server.Самое простое решение (хотя это заняло целый день отладки) состоит в следующем:

  1. Добавьте ссылку (скажем, ProjA.dll) в ваш проект / решение (например, ProjB), где это необходимо.
  2. Если вы видите другую ошибку, связанную с методом, не найденным в ProjB (связанным с ProjA.dll), перейдите в ProjA, откройте его в Solution Explorer, добавьте все элементы в нем, используя «Добавить существующие элементы».Очистите и соберите ProjA.dll, снова обратитесь к правильной DLL в ProjB.Это должно сработать!

Иногда, даже если элементы находятся под контролем исходного кода, и вы можете их видеть, работать над ними и регистрироваться / извлекаться;такие периодически возникающие проблемы.

0 голосов
/ 04 марта 2012

Это довольно общая ошибка, и чаще всего она вызвана динамическим построением элементов. Хотя вы, вероятно, добавили ссылку на сборку WPG, необходимо, чтобы все ее зависимости также были реализованы.

  • Попробуйте взглянуть на исходный код пакета WPG и посмотреть, нет ли у него каких-либо ссылок, которые не появляются в вашем месте вывода.
  • Использование такого инструмента, как ILSpy , может помочь вам изучить внутренние зависимости.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...