如何防止引用程序集的嵌入式依赖项被复制到Visual Studio中的输出文件夹?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何防止引用程序集的嵌入式依赖项被复制到Visual Studio中的输出文件夹?相关的知识,希望对你有一定的参考价值。
我有:
- A.dll - 第三方集会
- B.dll - 我自己的类库程序集
- C.exe - 我自己的可执行文件
我使用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的“Copy Local”属性设置为false,而是显式包含在Costura的FodyWeavers.xml中。
有没有什么方法可以配置Costura.Fody和/或我的引用属性,以便A.dll不会独立复制到C.exe的输出文件夹中,而B.dll(嵌入引用A.dll)被复制?
答案
据我所知,需要您想要避免的参考组件。
另一答案
在引用msbuild跟踪日志后,我发现C.exe正在解析程序文件中A.dll的路径。从Program Files中删除A.dll解决了我的问题。
以上是关于如何防止引用程序集的嵌入式依赖项被复制到Visual Studio中的输出文件夹?的主要内容,如果未能解决你的问题,请参考以下文章
如何排除依赖项被 Spring Boot 的依赖项管理插件固定?
如何删除对 Dependencies/Frameworks/Microsoft.NETCore.App 中未使用程序集的引用?