Visual Studio删除未使用的Nuget依赖关系

问题描述 投票:2回答:1

我正在为从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.X509Certificate.dll

  • ...

这些依赖关系在我的程序中都没有被明确使用,这意味着当我从输出文件夹中删除它们并启动应用程序时,一切都能正常工作。我知道这些Dlls必须在包里,但是我怎么能忽略它们呢?有没有办法忽略nuget包中的依赖关系?

visual-studio nuget-package
1个回答
0
投票

一种方法是将Dll引用的copy local设置为false。

我没有在WPF项目中工作过,但我相信这仍然适用。

要做到这一点,请在项目中展开References节点,选择Dll,然后在属性窗口中将 "Copy Local "属性设置为False。

这应该可以防止Dll进入垃圾箱,并且在发布时也不会被包含。

不过有一点要提醒的是,应用程序现在可能可以工作,但这样做会给未来的你或其他开发者带来潜在的陷阱。 如果以后的代码修改需要这些Dlls之一,你的应用程序就不会那么高兴了,然后你就得记得把Copy Local放回True。

© www.soinside.com 2019 - 2024. All rights reserved.