C#console app,引用c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\DataCollectors\x86\Microsoft.VisualStudio.Coverage.Monitor.dll
:
using Microsoft.VisualStudio.CodeCoverage;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Monitor m = new Monitor();
}
}
}
对象创建行会抛出FileNotFoundException
消息Could not load file or assembly 'Microsoft.VisualStudio.Coverage.Monitor.dll' or one of its dependencies. The specified module could not be found.
知道为什么会发生这种情况以及如何解决?
答案 0 :(得分:3)
或其中一个依赖项
错误消息的相关部分。它依赖于来自同一目录的vspmsg.dll,您必须手动将其复制到bin \ Debug文件夹中。使用Visual Studio独有的私有程序集是相当勇敢的。
答案 1 :(得分:1)
此DLL中有4个引用(这是您在ILDASM.exe中找到的内容):
.module extern **KERNEL32.dll**
.module extern **MSVCR100.dll**
.assembly extern **mscorlib**
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.hash = (AF 35 A4 2A B0 0E 9D FC 8A 27 B8 29 E5 56 7D 12 // .5.*.....'.).V}.
18 84 3C 6B ) // ..<k
.ver 4:0:0:0
}
.assembly extern **Microsoft.VisualC**
{
.publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:
.hash = (1B D7 52 11 F8 FD 90 65 01 8A 53 AA 7F 87 91 6D // ..R....e..S....m
F8 E3 72 91 ) // ..r.
.ver 10:0:0:0
}
前两个用作C DLL,另外两个用作.NET引用。 请确保您拥有Microsoft.Visual(在GAC中)和MSVCR100.dll(在您的计算机上某处也是路径)。