在使用msbuild进行编译时,.NET 3.5解决方案最终出现此警告.
有时NDepend可能有所帮助,但在这种情况下,它没有提供任何进一步的细节.像Bob一样,我最终不得不在ILDASM中打开每个程序集,直到找到引用旧版依赖程序集的程序集.
我确实尝试使用VS 2010 Beta 2中的MSBUILD(因为Connect文章表明这已经在下一版本的CLR中得到修复)但是它没有提供任何更多细节(可能在Beta 2后修复)
有更好的(更自动化的)方法吗?
我想安装旧版本的软件包(Newtonsoft.Json).但NuGet回滚.
PM> Install-Package Newtonsoft.Json -Version 4.0.5
Successfully installed 'Newtonsoft.Json 4.0.5'.
Install failed. Rolling back...
Install-Package : Already referencing a newer version of 'Newtonsoft.Json'.
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
我目前正在开发一个.NET应用程序,它包含20个项目.其中一些项目是使用.NET 3.5编译的,其他一些项目仍然是.NET 2.0项目(到目前为止没问题).
问题是,如果我包含一个外部组件,我总会收到以下警告:
"Found conflicts between different versions of the same dependent assembly".
Run Code Online (Sandbox Code Playgroud)
这个警告究竟是什么意思,是否有可能排除这个警告(比如在源代码文件中使用#pragma disable)?
我需要在Visual Studio 2013中从我的开发人员命令提示符运行web.exe文件.默认情况下,Visual Studio 2013中未安装命令提示符.
以前,我使用的是Visual Studio 2012.默认安装了开发人员命令提示符.
有谁知道为什么VS2013默认没有开发人员命令提示符?如何为VS2013设置开发人员命令提示符?
在一个新的Win8.1重新安装上,我的所有代码都从备份恢复,当我构建我的解决方案的主项目时,我突然收到一个Visual Studio警告:
发现无法解析的同一依赖程序集的不同版本之间的冲突.当日志详细程度设置为详细时,这些引用冲突将在构建日志中列出.
我将输出日志级别设置为Detailed,我发现了一些这样的条目:
"mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089"和"mscorlib,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = 7cec85d7bea7798e,Retargetable = Yes"之间存在冲突.之所以选择"mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089"是因为它的版本更高.
麻烦的是,我没有mscorlib在解决方案的任何地方引用旧的或新的.我的机器上有几个需要.NET 3.5的应用程序,但我看不出它是如何相关的.
一个区别是:没有发生此警告的旧Win8.1安装是一台独立的机器; 这次我加入了域名.我不知道这是否有所作为(我看不清楚),但我认为至少应该提一下.