Внешние инструменты Visual Studio 2010 \obj\Debug vs \bin\debug

Я пытаюсь настроить сторонний инструмент для подписи библиотеки как внешний инструмент. Аргументы должны быть следующими:

sign.exe "c:\projectdir\bin\debug\exename.exe" "c:\projectdir\bin\debug\exename.lic"

У меня есть аргументы настроены так:

$(TargetPath) $(TargetDir)$(TargetName).lic

Это работает, но это указывает на \obj\debug вместо \bin\debug, Есть ли способ скопировать полученный файл в \bin\debug папка или сгенерированный файл скопирован из \obj\debug в bin\debug? Я посмотрел на документацию здесь, но я не вижу способа сделать это.

2 ответа

Решение

Я понял это, открыв диалоговое окно и поиграв с параметрами. Следующее добивается того, чего я хочу. Интересно отметить, что Visual Studio 2010 хорошо подходит для добавления косой черты / точек, когда это необходимо для создания правильного пути. Впечатляет!

$(BinDir)$(TargetName)$(TargetExt) $(BinDir)$(TargetName).lic

Между прочим, диалоговое окно СЛИШКОМ слишком мало и не имеет значительных размеров. Быстрый поиск Google поднял этот инструмент из этого вопроса суперпользователя. ОЧЕНЬ удобно для этой конкретной проблемы...

В моей копии Visual Studio 2010 макрос $(BinDir) сопоставлен с двоичным каталогом Visual Studio, поэтому приведенное выше решение не сработало для меня.

К сожалению, макросов, доступных для использования в диалоге внешних инструментов, не хватает. Кажется, нет ничего, чтобы напрямую ссылаться на путь вывода.

Единственный способ добиться этого - жестко закодировать часть "Выходной путь" следующим образом:

$ (ProjectDir) \ Bin\Debug\$(Имя_целевого_объект)$(TargetExt)

Я ненавижу жесткое кодирование "bin\Debug", но другие полезные макросы, такие как $(ConfigurationName), не работают для работы с настройками внешних инструментов. Единственные макросы, которые были запущены для работы, - это ограниченный набор, задокументированный в окне справки для диалога внешних инструментов.

Так что это сработало для меня. Я надеюсь, что кто-то может доказать, что я неправ, и найти способ получить доступ к этому каталогу без жесткого кодирования части имени каталога.

Другие вопросы по тегам