如何防止引用的程序集的嵌入式依赖项被复制到Visual Studio中的输出文件夹?

时间:2018-01-04 15:07:08

标签: c# dll reference visual-studio-2017 fody-costura

我有:

  1. A.dll - 第三方议会
  2. B.dll - 我自己的类库程序集
  3. C.exe - 我自己的可执行文件
  4. 我使用Costura.Fody NuGet package A.dll 嵌入 B.dll C.exe 有二进制文件参考 B.dll

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

    然而,当我构建C.exe时,尽管已经嵌入到B.dll(也被复制到输出文件夹),但是A.dll会出现在输出文件夹中。我不想用我的可执行文件分发基本上两份A.dll的副本,但是我想分发A& B为一体。

    在B.dll中,"复制本地" A.dll的属性设置为false,而是显式包含在Costura的FodyWeavers.xml中。

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

2 个答案:

答案 0 :(得分:0)

据我所知,需要你想要避免的参考组件。

答案 1 :(得分:0)

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