私は3つのプロジェクトを持っています
1)完全なビジネスロジックを含むアンマネージドC ++
2)C ++ / CLI(プロジェクト名管理)
3)C#GUI
アンマネージドC++のライブラリファイルをC++/ CLIに追加し、次にC ++ / CLIのdllをC#プロジェクトに追加しました。これはすべて正常に機能しており、実行に問題はありません。
ここで、C ++ / CLIラッパーを呼び出すC#関数の単体テストを実行して、結果を取得したいと思います。VisualStudio 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が見つからないと表示されます
混乱させてしまったらごめんなさい。詳しい情報が必要な場合はお問い合わせください。よろしくお願いします。