C#单元测试上的类初始化失败
单元测试的新手。我需要有一个名为SolidWorks的应用程序启动并加载一个文件。我的初始化将不会运行。我得到一个错误: 类初始化方法UnitTestProject1.SolidWorksPartTests.MyClassInitialize引发异常。System.IO.FileNotFoundException:System.IO.FileNotFoundException:无法加载文件或程序集“SolidWorks.Interop.sldworks,版本=27.1.0.72,区域性=中性,PublicKeyToken=7c4797c3e4eeac03”或其依赖项之一。系统找不到指定的文件 我肯定那里的参考文献。我认为这与静态引用有关。我的代码如下所示: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
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-我已检查路径。我完全复制了我正在测试的项目的参考资料。当您说“尝试使用依赖项加载程序集”时,这是什么意思?我正在测试的项目正在运行。