我有三个项目
1) 包含完整业务逻辑的非托管 c++
2)C++/CLI(项目名称管理)
3)C#图形界面
我在 C++/CLI 中添加了非托管 c++ 的库文件,然后在 C# 项目中添加了 C++/CLI 的 dll。这一切正常,执行也没有问题。
现在我想对调用 C++/CLI 包装器的 C# 函数进行单元测试,然后返回结果。我使用 Visual Studio 2010 创建了一个单元测试。我在我的测试项目中添加了 C++/CLI 的 dll。现在当我正在尝试执行它抛出异常 managed.dll not found的测试
这是代码
[TestMethod()]
public void getstateTest()
{
bool expected=true;
bool actual=false;
try
{
GUI.test target = new test();
expected = true; // TODO: Initialize to an appropriate value
actual = target.getstate();
}
catch (FileNotFoundException exception)
{
MessageBox.Show("Missing file is : " + exception.FileName);
}
Assert.AreEqual(expected, actual);
}
The getstate function is
namespace GUI
{
public class test
{
public bool getstate()
{
bool chk = false;
bool result;
String a = "some path";
String b = "some path"
String c = "some path"
managed objct;
objct = new managed();
objct.Initialize(a, b, c, chk);
objct.Execute();//calls the C++/CLI execute which calls unmanaged C++
result = objct.Executionresult();//gets a bool result
return result;
}
}
}
当我运行应用程序时,同样的事情工作正常,但在运行测试项目时它说缺少 dll
抱歉,如果我让您感到困惑。请询问您是否需要更多信息。提前致谢