在进行单元测试后无法加载文件或程序集



一个月来我一直在做一个项目。今天早上我甚至还运行了这个项目。我为应用程序的测试添加了一个新的Unit Test类。我正在努力让我的测试与[TestInitialize]方法和[TestCleanup]方法一起运行。

现在由于某种原因,我在我的项目(不是测试项目)上得到以下错误:

无法加载文件或程序集SolidWorks.Interop.swconst,版本=28.1.0.74,文化=中性,PublicKeyToken=19f43e188e4269d8'或者它的一个相关项。系统找不到文件指定。DispensingAddIn C:Usersericssourcerepos TestingEFClassLibrary TestingEFClassLibrary RegAsm

我的单元测试是这样的:

using Microsoft.VisualStudio.TestTools.UnitTesting;
using SolidWorks.Interop.sldworks;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
using Dispensing.Classes.Utilities;
using SolidWorks.Interop.swconst;
namespace TestEntityDB
{
/// <summary>
///     Summary description for SolidworksFeatureTreeTests
/// </summary>
[TestClass]
public class SolidworksFeatureTreeTests
{
public ISldWorks _swApp;
[TestInitialize]
public void StartTestEnvironment()
{
_swApp = new SldWorks();
var errors = 0;
var warnings = 0;
_swApp.OpenDoc6(@"C:UsersericsDesktopPart1.SLDPRT", 1, 1, "Default", ref errors, ref warnings);
}
[TestCleanup]
public void CleanUpTestEnvironment()
{
_swApp.CloseAllDocuments(true);
_swApp.ExitApp();
}

[TestMethod]
public void TestMethod1()
{
var tree = new SwFeatureTree();
tree.FeatureTreeConfiguration.ExclusionByNamesList.Add("(-) Sketch1");
Assert.AreEqual(1, tree.FeatureTreeConfiguration.ExclusionByNamesList.Count);
//tree.BuildTree(_swApp.ActiveDoc as IModelDoc2);
//Assert.AreEqual(25, tree.TreeItems.Count);
}
}
}

顺便说一下,Solidworks在手动运行时加载和运行得很好。

我已经尝试在项目和测试项目中删除和读取对SolidWorks.Interop.swconst的引用。

这里可能发生了什么?我该如何解决这个问题?

我发现了我的问题所在,我将把它记录在这里,以防其他人可能从中受益。

我的问题是我使用的NuGet包需要SolidWorks.Interop.swconst 28.1.0.74版本。当我添加对Solidworks. interop .swconst的引用时,我选择了与最新版本的Solidworks一起安装的版本。现在,SolidWorks.Interop.swconst的版本实际上比NuGet包所要求的版本要新。因此出现了错误信息。

相关内容

  • 没有找到相关文章

最新更新