当解决方案很小时,我们清楚地知道解决方案中使用了哪些项目引用和NuGet包,要想清理它们很容易。而对于大型的解决方案,有哪些包在使用中,开发人员很难找到它们,或者找起来可能很耗时。
Visual Studio 2019(16.10)添加了“删除未使用的引用”命令,用于清理未用的项目引用和 NuGet 包。
如果找不到此选项,请在“工具” > “选项” > “文本编辑器” > “C#” > “高级”中启用它
下面我们来试用一下这个功能。
创建新项目并添加引用
创建一个ConsoleApp1项目和ClassLibrary1项目,ConsoleApp1引用了ClassLibrary1项目和Newtonsoft.Json包。
代码如下:
static void Main(string[] args)
{var a = new ClassLibrary1.Class1() { Name = "公众号“My IO”" };Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(a));
}
删除未使用的引用
在解决方案资源管理器的ConsoleApp1项目上点击右键,选择“删除未使用的引用”,弹出窗口。
(汗)有Bug: 明明使用了ClassLibrary1.Class1,它居然提示我未使用!!!
修改代码,去除Newtonsoft.Json的使用:
static void Main(string[] args)
{var a = new ClassLibrary1.Class1() { Name = "公众号“My IO”" };Console.WriteLine(a);
}
再次选择“删除未使用的引用”,这次Newtonsoft.Json包正常提示未引用了。
将ClassLibrary1保留,点击“应用”,完成后包引用已去掉,而且能够编译通过。
结论
毕竟是实验性功能,目前在正式项目上还是慎用。
欢迎关注我的个人公众号”My IO“