代码之家  ›  专栏  ›  技术社区  ›  Victor Hurdugaci

使用Microsoft.VisualStudio.Coverage.Monitor.dll时发生FileNotFoundException

  •  0
  • Victor Hurdugaci  · 技术社区  · 14 年前

    C控制台应用程序参考 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.

    知道为什么会发生这种情况吗?如何解决?

    2 回复  |  直到 13 年前
        1
  •  3
  •   Hans Passant    14 年前

    或者它的一个依赖项

    这是错误消息的相关部分。它依赖于同一目录中的vspmsg.dll,您必须手动将其复制到bin\debug文件夹中。使用专用于Visual Studio的私有程序集相当勇敢。

        2
  •  1
  •   Aliostad    14 年前

    此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(在您的计算机上的某个地方,它也是一个路径)。