2012-03-04 4 views
0

Я использую PRISM и новый элемент управления, который я нашел в CodePlex: WPF свойств сеткиНе удалось загрузить файл или сборку «WPG, PublicKeyToken = нуль» или один из его зависимостей

http://wpg.codeplex.com/

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

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

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

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

enter image description here

EDIT:

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

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

+0

Можете ли вы показать нам строку 'xmlns:', которая ссылается на сборку WPG, и можете ли вы сообщить нам, в каком файле xaml он находит себя? – Dabblernl

+0

Используйте fuslogvw.exe для устранения неполадок с разрешением сборки. –

ответ

3

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

0

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

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

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

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

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

Смежные вопросы