Как настроить целевой выходной путь для данного файла ресурсов в Visual Studio - PullRequest
6 голосов
/ 04 мая 2011

В основном проекте моего VS Solution у меня есть папка Resources с некоторыми необходимыми внешними инструментами. При создании и публикации решения я получаю файл. \ Resources * со всеми необходимыми файлами. Пока все хорошо.

Однако мне нужно переместить некоторые файлы в родительский каталог. Моя первая попытка была сделать это с событиями пост-сборки. Это работает и действительно перемещает их правильную папку. Тем не менее в выходных данных публикации они по-прежнему отображаются в папке «Ресурсы», а они мне нужны в родительской папке: /

Есть ли способ настроить целевой путь вывода для ресурсов в Visual Studio?

Ответы [ 3 ]

1 голос
/ 27 мая 2011

После некоторых исследований и экспериментов я решил свою проблему.Тем не менее, вот что я узнал в процессе.

Первой попыткой было добавить файл в корень проекта и пометить его как ресурс.После публикации это сработало.Но наличие этих файлов в корне проекта его хромает.

Так как мне нужны были файлы * .exe, скомпилированные в другом решении VS, я добавил их в качестве ссылки на проект.Дали ему попытку, и он прошел тест «Опубликовать».Но все же ... не лучший способ сделать это.

После этого, с некоторыми сценариями и событием после сборки, я скопировал необходимые файлы в нужную папку.Работает .. но после публикации они не появляются в пакете.

Однако с инструментом Mage все еще есть возможность:

http://msdn.microsoft.com/en-us/library/acz3y3te.aspx

Это привело к некоторым многообещающим экспериментам, однако в итоге они помогли мне понять, насколько ограниченыMS ClickOnce есть, поэтому я решил попробовать другие инструменты.

Вот хорошее начало: Какие существуют альтернативы ClickOnce?

0 голосов
/ 05 мая 2011

Две идеи:

  • Возможно, вы могли бы переместить свои ресурсы в другой проект - проект только для ресурсов - и затем установить их Build Action на Content и Copy To Output на true,Затем сделайте ссылку на этот новый проект и постройте решение.(Это может работать не так, как вы хотите, просто идея).
  • Почему бы не сделать ваши ресурсы встроенными.Держать их всех в каталоге Resources\ и получать к ним программный доступ?
0 голосов
/ 05 мая 2011

Однажды у меня была похожая ситуация.Я обнаружил, что стало больше проблем, чем стоило настраивать пути вывода и тому подобное в Visual Studio, в той степени, в которой я этого хотел.

В итоге я позволил Visual Studio делать что-то свое в отношении структуры файла / проекта.и написал сценарий после сборки, чтобы скопировать все необходимое в окончательный каталог 'publish-ready'.

Затем я установил цель выполнения в Visual Studio на новое место, чтобы можно было запустить /отладка как обычно, но с новой папкой, которая была организована так, как мне было нужно.Осторожно, я думаю, что это пользователь настройки проекта;поэтому другие разработчики должны будут делать это и на своих машинах, если они того пожелают.

Я помню, как менялись некоторые пути вывода и тому подобное, чтобы сделать скрипт после сборки более простым.Но изменение таких вещей может привести к раздражению при добавлении новых проектов в решение;вам может понадобиться настроить их для соответствия.Это все компромисс:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...