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

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

http://wpg.codeplex.com/

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

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

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

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

введите описание изображения здесь

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

<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"
    >

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


person Darf Zon    schedule 04.03.2012    source источник
comment
Можете ли вы показать нам строку xmlns:, которая ссылается на сборку WPG, и вы можете сказать нам, в каком файле xaml она находится?   -  person Dabblernl    schedule 04.03.2012
comment
Используйте fuslogvw.exe для устранения проблем с разрешением сборки.   -  person Hans Passant    schedule 04.03.2012


Ответы (3)


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

person kitti    schedule 04.03.2012

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

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

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

person RDV    schedule 06.12.2012

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

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