首页 / 知识
关于.net:删除未使用的引用(!=“使用”)
2023-04-16 11:46:00
Remove unused references (!= “using”)如何在项目中查找和删除未使用的引用? 我知道您可以轻松删除vs 2008中的using语句,但这不会删除您项目中的实际引用。 引用的dll仍将复制到bin / setup程序包中。 *注意:有关此答案的另一个版本,请参见http://www.jetbrains.net/devnet/message/5244658。 通读帖子,似乎对原始问题有些困惑。让我刺一下它。 原始帖子实际上是在问一个问题:"如何识别和删除一个Visual Studio项目对未使用的其他项目/程序集的引用?"发布者希望装配不再出现在构建输出中。 在这种情况下,ReSharper可以帮助您识别它们,但是您必须自己删除它们。 为此,在解决方案浏览器中打开引用,右键单击每个引用的程序集,然后选择"查找相关代码"。看到: http://www.jetbrains.com/resharper/features/navigation_search.html#Find_ReferencedDependent_Code 您将获得: 在浏览器窗口中对该引用的依赖项列表,或者 出现一个对话框,提示您"找不到依赖于模块XXXXXXX的代码"。 如果获得第二个结果,则可以右键单击"引用",选择"删除",然后将其从项目中删除。 虽然您必须"手动"执行此操作,即一次引用一个,但它可以完成工作。如果有人以某种方式使它自动化,我很想听听它是如何完成的。 您几乎可以忽略.Net Framework中的内容,因为它们通常不会被复制到生成输出中(通常-尽管对于Silverlight应用程序不一定是正确的)。 一些帖子似乎正在回答这个问题:"如何从源代码文件中删除使用子句(C#),而该子句不需要解析该文件中的任何引用"。 在这种情况下,ReSharper确实有以下两种帮助: 在进行动态错误检测期间为您标识未使用的using子句。它们显示为"代码检查警告"-代码将在文件中显示为灰色(默认),ReSharper将提供提示以将其删除: http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection 允许您在代码清除过程中自动删除它们: http://www.jetbrains.com/resharper/features/code_formatting.html#Optimizing_Namespace_Import_Directives 最后,意识到ReSharper对您的解决方案进行静态代码分析。因此,如果您具有对程序集的动态引用(例如,通过反射或在运行时动态加载并通过接口访问的程序集),则它将不会使用它。在您处理项目时,无可替代地理解您的代码库和项目依赖性。我确实发现ReSharper功能非常有用。 您可以使用我编写的"删除未使用的引用"扩展名: http://visualstudiogallery.msdn.microsoft.com/9811e528-cfa8-4fe7-9dd1-4021978b5097 删除未使用的引用是Visual Studio 2008已经支持的功能。不幸的是,仅适用于VB .NET项目。 我在Microsoft Connect上也提出了建议,也可以为C#项目获得此功能: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=510326 如果您也喜欢此功能,那么您可以投票赞成我的建议。 试试这个:参考助手
ReSharper 6.1将包括以下功能: -优化引用:在代码中分析程序集引用及其用法,获取冗余引用列表并将其删除。 -删除未使用的引用:快速重构以删除冗余的程序集引用。 -安全删除程序集引用:如果所有程序集引用都是多余的,将删除程序集引用,否则将散布用法,并且只能删除所选列表的冗余程序集引用。 Resharper将为您做到这一点(还有更多!)
我没有在VS 2010 Ultimate中进行扩展 我有一个免费的答案,可以在任何版本的Visual Studio和任何Framework版本中使用。它不会删除未使用的引用,但是会标识它们。
您可以在项目dll上使用Telerik JustDecompile。只需在JustDecompile中打开dll,然后在
如果您知道未使用哪些参考,则可以手动将其删除。 我认为这是在bin 中复制的,因为在删除引用的项目中有参考或其他具有相同参考的项目... 鉴于Visual Studio(或它是msbuild?)检测到未使用的引用,并且不将它们包含在输出文件中,您可以编写一个脚本,将脚本从csproj中解析出来,并将其与通过反射检测到的引用程序集进行比较。项目输出。 如果你有动力... |
最新内容
相关内容
linux命令删除用户组?
linux命令删除用户组?,管理,密码,系统,用户组,用户,概念,命令,文件,管理员,工作组,Linux命令之用户组管理1、查看/etc/group文件,只存在名称为mlinux删除重复项命令?
linux删除重复项命令?,数据,系统,工具,电脑,项目,公式,百度,代码,名字,基础,您好,我需要删除重复内容,两份以上的重复全部删除,不留一组数据?_linux硬链接删除命令?
linux硬链接删除命令?,数据,系统,不了,时间,名称,链接,文件,档案,地方,设备,linux怎么备份删除bin下的.sh命令1、dump命令 Linux dump命令用于linux交互删除命令?
linux交互删除命令?,名称,不了,系统,文件夹,命令,通用,文件,目录,指令,方法,linux删除文件夹命令1、linux删除命令rm-rf命令。具体详情:rm命令linux中查找替换命令?
linux中查找替换命令?,标的,文件,名称,代码,内容,字符串,命令,批量,方法,表示,linux下批量查询文件内容字符串并替换1、一)通过vi编辑器来替换linux删除无用的命令?
linux删除无用的命令?,系统,软件,数据,员工,命令,信息,宽松,对比,状态,公司,Linux系统怎样清理垃圾文件1、clean 命令删除所有的软件安装包。linux命令行删除网卡?
linux命令行删除网卡?,地址,网络,系统,工具,信息,设备,名字,管理,服务,网卡,linux中怎么把第一块网卡上的ip给删除掉1、你好,你说的删除IP是指递归查找linux命令?
递归查找linux命令?,时间,档案,命令,标准,数据,系统,名称,文件,服务,信息,linux搜索文件名命令(使用find命令在Linux上查找文件和目录)1、findlinux命令引用文件名?
linux命令引用文件名?,工作,系统,信息,命令,数据,文件,时间,灵活,名称,标准,linux下按文件名和文件内容查找文件1、按名称查找文件你可以借助linux命令删除字符串?
linux命令删除字符串?,软件,系统,代码,名称,通用,连续,字符,字符串,命令,空格,类似trim命令,去除字符串中的冒号,有这个简单的命令吗?1、=trimlinux删除整个命令?
linux删除整个命令?,命令,文件夹,不了,名称,通用,系统,数据,文件,目录,格式,linux的文件和目录的删除命令有哪些?linux删除文件夹的方法有两种linux查找设备号命令?
linux查找设备号命令?,设备,系统,信息,名称,分区,网上,情况,软件,技术,工具,在linux中如何知道自己的IDE设备的代号呢?例如,第一个 IDE 硬盘的