Я хочу добавить элемент развертывания в свой тест. Насколько я понял до сих пор, путь относительно решения. Я хочу, чтобы путь был относительно проекта. В противном случае проект нельзя использовать в нескольких решениях.
Как настроить элемент развертывания относительно зависимой от проекта переменной?
Я надеялся на что-то вроде: [DeploymentItem(@"$(ProjectDir)..\..\bin\$(Configuration)")]
, но я не нашел никакой документации, и она, похоже, не работает.
Я только что сделал небольшой тест. Просто простой код мастера и один элемент развертывания:
[TestMethod]
[DeploymentItem("stdafx.cpp")]
void TestMethod1()
{
Assert::Fail();
};
и файл trx показывает следующую строку:
Предупреждение. Проблема развертывания при тестовом запуске: не удалось получить файл для элемента развертывания 'stdafx.cpp', указанного в тесте 'TestProject1.UnitTest1.TestMethod1': System.IO.FileNotFoundException: не удалось найти файл 'd: \ Development \ Проекты \ deploymentItemTest \ stdafx.cpp.
System.IO.FileNotFoundException: не удалось найти файл 'd: \ Development \ Projects \ deployItemTest \ stdafx.cpp'.
Имя файла: 'd: \ Development \ Projects \ deployItemTest \ stdafx.cpp'
, что означает, что "stdafx.cpp" ищется относительно каталога решения (который находится в ... \ depoymentItemTest), а не каталога проекта (который находится в ... \ depolymentItemTest \ TestProject1)