0

我有:

  1. A.dll - 第三方程序集
  2. B.dll - 我自己的类库程序集
  3. C.exe - 我自己的可执行文件

我正在使用Costura.Fody NuGet 包A.dll嵌入到B.dll中,并且C.exe具有对 B.dll 的二进制引用

(A.dll 嵌入在 B.dll 中)<-- C.exe

然而,当我构建 C.exe 时,A.dll 出现在输出文件夹中,尽管已经嵌入到 B.dll 中(它也被复制到输出文件夹中)。我不希望将本质上是两个 A.dll 副本与我的可执行文件一起分发,但我想将 A & B 作为一个分发。

在 B.dll 中,A.dll 的“复制本地”属性设置为 false,而是明确包含在 Costura 的 FodyWeavers.xml 中。

有什么方法可以配置 Costura.Fody 和/或我的参考属性,以便 A.dll 不会被独立复制到 C.exe 的输出文件夹中,而 B.dll(带有对 A.dll 的嵌入式引用)被复制?

4

2 回答 2

0

据我所知,将需要您想要避免的参考程序集。

于 2018-01-04T15:09:44.223 回答
0

参考 msbuild 跟踪日志后,我发现 C.exe 正在解析 Program Files 中的 A.dll 的路径。从 Program Files 中删除 A.dll 解决了我的问题。

于 2018-01-04T16:09:11.823 回答