У меня три проекта
1) неуправляемый c ++, содержащий полную бизнес-логику
2) C ++ / CLI ( Управляемое имя проекта )
3) C # GUI
Я добавил библиотечный файл неуправляемого c ++ в C ++ / CLI, а затем dll C ++ / CLI в проекте C #. Все это работает нормально, и выполнение без проблем.
Теперь я хочу выполнить модульное тестирование функции C #, которая вызывает обертку C ++ / CLI, а затем получить результаты. Я создал модульный тест с использованием Visual Studio 2010. Я добавил dll C ++ / CLI в свой тестовый проект. . Теперь, когда я пытаюсь выполнить тест, он выдает исключение managed.dll не найдено
Вот код
[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 отсутствует
Извините, если я запутал. Пожалуйста, спросите, нужна ли вам дополнительная информация. Заранее спасибо