. net 3.5解决方案在使用msbuild编译时出现此警告。
有时NDepend可能会有所帮助,但在这种情况下,它没有提供任何进一步的细节。像Bob一样,我最终不得不在ILDASM中打开每个程序集,直到找到引用依赖程序集的旧版本。
我确实尝试使用VS 2010 Beta 2的MSBUILD(连接文章指出这在CLR的下一个版本中得到了修复),但也没有提供更多的细节(可能是在Beta 2后修复的)。
有没有更好的(更自动化的)方法?
. net 3.5解决方案在使用msbuild编译时出现此警告。
有时NDepend可能会有所帮助,但在这种情况下,它没有提供任何进一步的细节。像Bob一样,我最终不得不在ILDASM中打开每个程序集,直到找到引用依赖程序集的旧版本。
我确实尝试使用VS 2010 Beta 2的MSBUILD(连接文章指出这在CLR的下一个版本中得到了修复),但也没有提供更多的细节(可能是在Beta 2后修复的)。
有没有更好的(更自动化的)方法?
当前回答
我做了一个基于Mike Hadlow的应用程序:AsmSpy。
我的应用程序是一个带有GUI的WPF应用程序,可以从我的家庭web服务器下载:AsmSpyPlus.exe。
代码可在:GitHub
其他回答
此警告产生于默认ASP。NET MVC 4测试版 在这里看到的
中,此警告的任何强制转换都可以通过手动编辑 .csproj文件。 修改……: Reference Include="System.Net.Http" 阅读......: Reference Include="System.Net. "Http, Version = 4.0.0.0 "
Visual Studio for Mac Community新增:
由于AMissico的回答需要更改日志级别,而ASMSpy和ASMSpyPlus都不能作为跨平台解决方案,下面是Visual Studio for Mac的一个简短补充:
https://learn.microsoft.com/en-us/visualstudio/mac/compiling-and-building
它在Visual Studio社区→首选项…→项目→构建日志→冗长
正如这里提到的,您需要删除未使用的引用,警告就会消失。
Mike Hadlow发布了一个名为AsmSpy的小控制台应用程序,它很好地列出了每个程序集的引用:
Reference: System.Net.Http.Formatting
4.0.0.0 by Shared.MessageStack
4.0.0.0 by System.Web.Http
Reference: System.Net.Http
2.0.0.0 by Shared.MessageStack
2.0.0.0 by System.Net.Http.Formatting
4.0.0.0 by System.Net.Http.WebRequest
2.0.0.0 by System.Web.Http.Common
2.0.0.0 by System.Web.Http
2.0.0.0 by System.Web.Http.WebHost
与依赖MSBuild输出相比,这是获取警告MSB3247底部的更快方法。
快速修复:
右键单击解决方案->管理解决方案->的NuGet包在巩固下,你可以看到是否有不同版本的相同的包被安装。卸载不同版本,安装最新版本。