.NET 3.5解决方案在使用msbuild编译时出现此警告。
有时NDepend可能会帮助,但在这种情况下,它没有给任何进一步的细节。 Like Bob我最终不得不求助于打开ILDASM中的每个程序集,直到我找到一个参考较早版本的依赖程序集。
我没有尝试从VS 2010 Beta 2使用MSBUILD(因为Connect文章指出这是修复在下一版本的CLR),但没有提供任何更多的细节(也许固定后Beta 2)
将“MSBuild项目构建输出详细程度”更改为“详细”或更高版本。为此,请按照下列步骤操作:
原文链接:https://www.f2er.com/javaschema/283166.html>打开选项对话框(工具 – >选项…)。
>在左侧树中,选择“项目和解决方案”节点,然后选择“构建并运行”。
>注意:如果此节点未显示,请确保选中了显示所有设置对话框底部的复选框。
>在出现的工具/选项页面中,根据您的版本将MSBuild项目生成输出详细程度级别设置为适当的设置:
> VS2012,VS2013或VS2015上的诊断(这些版本中的消息说您应该使用“详细”,but this is plain wrong,you should use “Diagnostics”)
>详细当你在VS2010
>正常将足以在VS2008或更老。
>构建项目并在输出窗口中查看。
查看MSBuild消息。 ResolveAssemblyReferences任务(这是MSB3247源自的任务)应该可以帮助您调试此特定问题。
我的具体情况是不正确的引用sqlServerCe。见下文。我有两个项目引用两个不同版本的sqlServerCe。我去了老项目的项目,删除了引用,然后添加了正确的引用。
Target ResolveAssemblyReferences: Consider app.config remapping of assembly "System.Data.sqlServerCe,..." from Version "3.5.1.0" [H:\...\Debug\System.Data.sqlServerCe.dll] to Version "9.0.242.0" [C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies\System.Data.sqlServerCe.dll] to solve conflict and get rid of warning. C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets : warning MSB3247: Found conflicts between different versions of the same dependent assembly.
您不必打开每个程序集以确定引用程序集的版本。