我已经做了一个月的项目了。我今天早上甚至还主持了这个项目。我在应用程序的测试中添加了一个新的单元测试类。我正在努力让我的测试与TestInitialize方法和TestCleanup方法一起运行。
由于某些原因,我在我的项目(不是测试项目)上出现了以下错误:
无法加载文件或程序集“SolidWorks.Interop.swconst、Version=28.1.0.74、Culture=neutral、PublicKeyToken=19f43e188e4269d8”或其依赖项之一。系统找不到指定的文件。DispensingAddIn C:\Users\erics\source\repos\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:\Users\erics\Desktop\Part1.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的引用。
这里会发生什么事?我该怎么解决这个问题?
发布于 2021-10-25 16:51:09
我发现了我的问题,我会在这里记录它,以防其他人从中受益。
我的问题是我使用了一个需要28.1.0.74版NuGet版本的SolidWorks.Interop.swconst包。当我向SolidWorks.Interop.swconst添加一个引用时,我选择了与我的最新版本Solidworks一起安装的版本。现在,SolidWorks.Interop.swconst的版本实际上比NuGet包所需的版本更新了。因此出现了错误消息。
https://stackoverflow.com/questions/69711280
复制相似问题