Внешние инструменты 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), не работают для работы с настройками внешних инструментов. Единственные макросы, которые были запущены для работы, - это ограниченный набор, задокументированный в окне справки для диалога внешних инструментов.
Так что это сработало для меня. Я надеюсь, что кто-то может доказать, что я неправ, и найти способ получить доступ к этому каталогу без жесткого кодирования части имени каталога.