2010-08-09 5 views
1

У меня возникла проблема с ссылками на сборку. У меня есть четыре сборки:проблема с эталонной сборкой - «сборка без ссылок» по сравнению с типом в двух сборках

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

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

The type 'EncryptionUtils.RSAPublicKey' is defined in an assembly that is not referenced. You must add a reference to assembly 'EncryptionUtils, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

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

The type 'EncryptionUtils.MyClass' exists in both 'c:...\EncryptionUtils.dll' and 'c:...\Toolkit.dll'

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

ответ

1

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

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

+0

Добавление библиотек в индивидуальном порядке. Благодаря! –