NDepend - Several .NET assemblies have the name {MyAssembly} but they are different

StackOverflow https://stackoverflow.com/questions/3667100

  •  01-10-2019
  •  | 
  •  

문제

I've just started using NDepend and am trying to analyse a solution.

This warning appears when I add the solution's assemblies and it will not load any assemblies with the warning:

Cant' load the assembly {MyAssembly}: Several .NET assemblies have the name {MyAssembly} but they are different: ...list of the .dlls in the project which contain this assembly

What could be causing this? I am using a common AssemblyInfo.cs file as well as the standard one to set some common attributes but there are no conflicts between these attributes.

도움이 되었습니까?

해결책 2

I had one project in my solution (the tests project) which was not set to build and referenced many of the other assemblies. Even when deselecting this assembly from NDepend it still threw the error.

다른 팁

David, the error is that in the set of input folders you provided in your NDepend project, NDepend found several different occurences of {MyAssembly.dll}. Meaning for example you have a {MyAssembly v1.0.1} file and a {MyAssembly v1.0.2} file.

Apparently this is something you were not aware of, so NDepend did a good job at exhibiting a flaw.

In the Project Property > Code to Analyze panel, hover the assembly {MyAssembly} with the mouse. In the tooltip that appears, you'll see several paths to different occurence of the different {MyAssembly.dll} files.

I have seen this occur when I have two versions of a solution in the same parent directory on my machine.

-root
-- solutiona
-- solutionb

My NDepend project was attached to the solution in the solutiona directory. However, NDepend was scanning starting at root, and finding dlls in both solutiona and solutionb. I moved one copy out of root, and was able to proceed.

I am using NDepend 4.1.0.6871. This behavior may not happen with newer releases.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top