Проблема со ссылкой на сборку - «сборка не указана» по сравнению с типом в двух сборках - PullRequest
1 голос
/ 10 августа 2010

У меня проблема со ссылками на сборки.У меня есть четыре сборки:

  1. Библиотека классов с именем EncryptionUtils
  2. Другая библиотека классов с именем PasswordUtils, которая использует EncryptionUtils
  3. Другая библиотека классов с именем Toolkit, которая представляет собой ILMerge из многихбиблиотеки, в том числе EncryptionUtils
  4. Приложение WPF, которое использует Toolkit и PasswordUtils

Если в моем приложении WPF нет ссылки на EncryptionUtils, я получаю следующую ошибку:

Тип 'EncryptionUtils.RSAPublicKey' определен в сборке, на которую нет ссылок.Вы должны добавить ссылку на сборку «EncryptionUtils, версия = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null».

Однако, как только я добавлю ссылку на те же EncryptionUtils, которые и PasswordUtils, иИнструментарий был создан с, я получаю следующую ошибку:

Тип 'EncryptionUtils.MyClass' существует в обоих 'c: ... \ EncryptionUtils.dll' и 'c: ... \ Toolkit.dll '

Как мне выбраться из этого улова 22 ??Нужно ли добавлять все отдельные библиотеки, которые составляют Toolkit, в мое приложение WPF?

1 Ответ

1 голос
/ 10 августа 2010

Либо добавьте библиотеки в приложение WPF по отдельности (что я бы рекомендовал) или объедините PasswordUtils в Toolkit и удалите ссылку на PasswordUtils.

Вы могли бы потенциально использовать псевдоним extern, чтобы указать, какой тип вы имеете в виду - но наличие одного типа в двух сборках - это немного похоже на катастрофу, IMO.

...