C#单元测试上的类初始化失败

C#单元测试上的类初始化失败,c#,unit-testing,C#,Unit Testing,单元测试的新手。我需要有一个名为SolidWorks的应用程序启动并加载一个文件。我的初始化将不会运行。我得到一个错误: 类初始化方法UnitTestProject1.SolidWorksPartTests.MyClassInitialize引发异常。System.IO.FileNotFoundException:System.IO.FileNotFoundException:无法加载文件或程序集“SolidWorks.Interop.sldworks,版本=27.1.0.72,区域性=中性,P

单元测试的新手。我需要有一个名为SolidWorks的应用程序启动并加载一个文件。我的初始化将不会运行。我得到一个错误:

类初始化方法UnitTestProject1.SolidWorksPartTests.MyClassInitialize引发异常。System.IO.FileNotFoundException:System.IO.FileNotFoundException:无法加载文件或程序集“SolidWorks.Interop.sldworks,版本=27.1.0.72,区域性=中性,PublicKeyToken=7c4797c3e4eeac03”或其依赖项之一。系统找不到指定的文件

我肯定那里的参考文献。我认为这与静态引用有关。我的代码如下所示:

    private TestContext testContextInstance;
    private static IModelDoc2 model;
    private static SolidWorksPart solidWorksPart;
    private static ISldWorks app;

    [ClassInitialize()]
    public static void MyClassInitialize(TestContext testContext) 
    {
        string testFolderLocation = @"C:\Users\erics\source\repos\XXXXXXXXXXXX\UnitTestProject1\TestFileFolder\";
        var progId = "SldWorks.Application";
        var progType = System.Type.GetTypeFromProgID(progId);
        app = System.Activator.CreateInstance(progType) as ISldWorks;
        app.Visible = false;

        string testFilePath = testFolderLocation + "FF99999 Circle.SLDPRT";
        int errors = 0;
        object importData = new object();
        app.LoadFile4(testFilePath, "", importData, ref errors);
        model = (IModelDoc2)app.ActiveDoc;
        solidWorksPart = new SolidWorksPart(model);

    }
我的类初始化有什么问题

编辑
构造函数或类初始值设定项都不会运行。我以前创建的测试确实可以运行。

我相信我找到了问题所在。我有一个我正在测试的项目设置。它是在“属性->调试->StartAction”中找到的。我有这个设置来启动外部程序来启动Solidworks进行调试。我把这个改为“启动项目”。似乎已经解决了这个问题。

您的项目中引用了solidworks互操作程序集吗?现在,请将整个过程放到try/catch中,并在调试器中逐步完成。您可以看到哪一行抛出异常。在catch块中放置一个断点,这样您就不会意外地错过它。然后检查异常。@mratari-是的,它被引用了。是否尝试使用依赖项加载程序集?有时无法加载从属DLL。检查路径?@mratari-我已检查路径。我完全复制了我正在测试的项目的参考资料。当您说“尝试使用依赖项加载程序集”时,这是什么意思?我正在测试的项目正在运行。