1

我在程序集引用方面遇到问题。我有四个程序集:

  1. 一个名为 EncryptionUtils 的类库
  2. 另一个名为 PasswordUtils 的类库使用 EncryptionUtils
  3. 另一个名为 Toolkit 的类库是许多库的 ILMerge,包括 EncryptionUtils
  4. 使用 Toolkit 和 PasswordUtils 的 WPF 应用程序

在我的 WPF 应用程序中,如果我不包含对 EncryptionUtils 的引用,我会收到以下错误:

“EncryptionUtils.RSAPublicKey”类型在未引用的程序集中定义。您必须添加对程序集“EncryptionUtils,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”的引用。

但是,一旦我添加对 PasswordUtils 和 Toolkit 构建时所用的相同 EncryptionUtils 的引用,就会出现以下错误:

“EncryptionUtils.MyClass”类型存在于“c:...\EncryptionUtils.dll”和“c:...\Toolkit.dll”中

我如何摆脱这个 22 号陷阱?我是否必须将构成 Toolkit 的所有单个库添加到我的 WPF 应用程序中?

4

1 回答 1

1

将库单独添加到 WPF 应用程序(这是我倾向于推荐的)合并PasswordUtilsToolkit中,然后删除对PasswordUtils.

可能会使用外部别名来指定您所指的类型 - 但是在两个程序集中使用相同的类型有点导致灾难,IMO。

于 2010-08-09T20:11:24.353 回答