У меня проблема с функцией "Копировать в вывод" в Visual Studio 2008. Возможно, я неправильно понимаю, как она должна работать.
У меня есть решение с четырьмя проектами:
- TestApp1 (приложение для Windows)
- TestAppA (приложение для Windows)
- TestProj1 (библиотека классов)
- TestProjA (библиотека классов)
Зависимости являются следующими (зависимость, как в ссылке на проект).
- TestProj1 ни от чего не зависит.
- TestApp1 зависит от TestProj1
- TestProjA зависит от TestProj1
- TestAppA зависит от TestProjA (и, следовательно, косвенно от TestProj1)
Другими словами, дерево зависимостей выглядит следующим образом.
TestApp1
TestProj1
TestProjA
TestProj1
TestAppA
TestProjA
TestProj1
(каждый проект имеет ссылку на стандартные сборки (system, system.core и т. Д.))
В TestProj1 я добавил текстовый файл Test.txt. В свойствах этого файла я указал «Действие при построении: содержимое» и «Копировать в выходной каталог: всегда копировать».
Когда я создаю решение, Test.txt копируется в
- TestApp1 \ Bin \ Debug
- TestProj1 \ Bin \ Debug
- TestProjA \ Bin \ Debug
Файл не скопирован в TestAppA \ bin \ debug, и это то, что я нахожу странным. Поскольку TestProj1 использует Test.txt для работы, а TestAppA полагается на TestProj1, через TestProjA TestApp1 не будет работать.
Если я добавлю ссылку на проект из TestAppA непосредственно в TestProj1 (поэтому у меня есть одна ссылка на TestProj1, а другая - на TestProjA), файл будет скопирован в папку TestAppA \ bin \ debug.
Конечно, я мог бы настроить пользовательское событие сборки, чтобы скопировать файл Test.txt в TestAppA \ bin \ debug, но у меня плохой опыт с пользовательскими событиями сборки, и я предпочел бы полагаться на встроенные механизмы копирования.
Итак, мой вопрос: почему Test.txt не копируется в TestAppA \ Bin \ debug?