MsTest: как установить элемент развёртывания относительно либо $(ProjectDir), либо $(OutDir)

Я хочу добавить элемент развертывания в мой тест. Насколько я понял до сих пор, путь относительно решения. Я хочу, чтобы путь был относительно проекта. Иначе проект нельзя использовать в нескольких решениях. Как настроить элемент установки относительно переменной, зависящей от проекта?

Я надеялся на что-то подобное: [DeploymentItem(@"$(ProjectDir)..\..\bin\$(Configuration)")], но я не нашел никакой документации и похоже, что это не работает.


Я только что сделал небольшой тест. Обычный код мастера и один элемент развертывания:

[TestMethod]
[DeploymentItem("stdafx.cpp")]
void TestMethod1()
{
    Assert::Fail();
};

и в trx-файле отображается следующая строка:

Warning: Проблема с развертыванием в тестовом режиме: Не удалось получить файл для элемента установки 'stdafx.cpp', указанного в тесте 'TestProject1.UnitTest1.TestMethod1': System.IO.FileNotFoundException: Не удалось найти файл 'd:\Development\Projects\deploymentItemTest\stdafx.cpp'. System.IO.FileNotFoundException: Не смог найти файл 'd:\Development\Projects\deploymentItemTest\stdafx.cpp'. Имя файла: 'd:\Development\Projects\deploymentItemTest\stdafx.cpp'

что означает, что поиск "stdafx.cpp" ведется относительно каталога решения (который находится в ...\depoymentItemTest), а не каталога проекта (который находится в ...\depolymentItemTest\TestProject1)

5
задан Tobias Langner 11 April 2012 в 14:07
поделиться