我现在正在苦苦挣扎一段时间,从bin输出文件夹中删除未使用的依赖项。 例如,我正在编写一个小型的.NET Wpf程序,该程序从Web服务器获取其数据。因此,我安装了System.Net.Http NugetPackage以发出我的Get / Post请求。软件包信息存储在.csproj文件中。 当我编译项目时,很多依赖项都会添加到输出文件夹中
Sytem.Security.Cryptography.Algorithms.dll
Sytem.Security.Cryptography.Encoding.dll
Sytem.Security.Cryptography.Primitives.dll
Sytem.Security.Cryptography.X509Certificates.dll
...
这些依赖项均未在我的程序中明确使用,这意味着当我从输出文件夹中删除它们并启动应用程序时,一切正常。 我确实知道该Dll必须包含在软件包中,但是我如何忽略它们。有没有办法忽略nuget包中的依赖关系?
答案 0 :(得分:0)
一种实现此目的的方法是在Dll参考上将copy local设置为false。
我还没有从事WPF项目,但我相信这仍然适用。
为此,请在项目中展开“引用”节点,选择“ Dll”,然后在“属性”窗口中将“复制本地”属性设置为False。
这应防止Dll进入垃圾箱并在发布时也将其包括在内。
警告一句,该应用程序现在可以正常工作,但是这样做会给将来的您或其他开发人员带来潜在的陷阱。如果代码在将来发生变化,则需要这些Dll之一,那么您的应用程序将不会很令人满意,那么您就必须记住将“复制本地”设置为True。