如何防止引用程序集的嵌入式依赖项被复制到 Visual Studio 中的输出文件夹?
How to prevent a referenced assembly's embedded dependency from being copied to output folder in Visual Studio?
我有:
- A.dll - 第三方程序集
- B.dll - 我自己的class库程序集
- C.exe - 我自己的可执行文件
我正在使用 Costura.Fody NuGet package 将 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 的 "Copy Local" 属性 设置为 false,而是明确包含在 Costura 的 FodyWeavers.xml.[=12 中=]
有什么方法可以配置 Costura.Fody and/or 我的参考属性,这样 A.dll 就不会独立复制到 C.exe 的输出文件夹中,而 B.dll(嵌入了对 A.dll 的引用)是否被复制?
据我所知,需要您想要避免的参考程序集。
参考 msbuild 跟踪日志后,我发现 C.exe 正在解析 Program Files 中 A.dll 的路径。从程序文件中删除 A.dll 解决了我的问题。
我有:
- A.dll - 第三方程序集
- B.dll - 我自己的class库程序集
- C.exe - 我自己的可执行文件
我正在使用 Costura.Fody NuGet package 将 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 的 "Copy Local" 属性 设置为 false,而是明确包含在 Costura 的 FodyWeavers.xml.[=12 中=]
有什么方法可以配置 Costura.Fody and/or 我的参考属性,这样 A.dll 就不会独立复制到 C.exe 的输出文件夹中,而 B.dll(嵌入了对 A.dll 的引用)是否被复制?
据我所知,需要您想要避免的参考程序集。
参考 msbuild 跟踪日志后,我发现 C.exe 正在解析 Program Files 中 A.dll 的路径。从程序文件中删除 A.dll 解决了我的问题。