我刚刚开始使用NDepend,我正在尝试分析解决方案。
当我添加解决方案的程序集时,会出现此警告,并且它不会加载任何带有警告的程序集:
无法加载程序集{MyAssembly}:多个.NET程序集的名称为{MyAssembly},但它们不同:...项目中包含此程序集的.dll列表
可能导致这种情况的原因是什么?我使用通用的AssemblyInfo.cs文件以及标准的文件来设置一些公共属性,但这些属性之间没有冲突。
答案 0 :(得分:2)
David,错误是你在NDepend项目中提供的输入文件夹集合中,NDepend发现{MyAssembly.dll}的几个不同的出现。例如,您有一个{MyAssembly v1.0.1}文件和一个{MyAssembly v1.0.2}文件。
显然这是你不知道的事情,因此NDepend在展示缺陷方面做得很好。
在项目属性>要分析的代码面板,用鼠标悬停程序集{MyAssembly}。在出现的工具提示中,您将看到不同{MyAssembly.dll}文件的不同出现的几条路径。
答案 1 :(得分:0)
我在我的解决方案(测试项目)中有一个项目,该项目未设置为构建并引用了许多其他程序集。即使从NDepend中取消选择此程序集,它仍然会抛出错误。
答案 2 :(得分:0)
我已经看到当我在我的机器上的同一个父目录中有两个版本的解决方案时会发生这种情况。
-root
-- solutiona
-- solutionb
我的NDepend项目已附加到solutiona目录中的解决方案。但是,NDepend从root开始扫描,并在solutiona和solutionb中找到dll。我将一个副本移出root,然后才能继续。
我正在使用NDepend 4.1.0.6871。新版本可能不会发生此行为。