我有:
我使用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解决了我的问题。