我正在尝试将第三方库的签名工具设置为外部工具。参数应该如下:
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
?我查看了文档here,但我认为没有办法做到这一点。
答案 0 :(得分:4)
我通过打开对话框窗口并使用参数来解决这个问题。以下是我想要的。有趣的是,Visual Studio 2010非常聪明地在必要时插入斜线/句点以形成理智的路径。可观!
$(BinDir)$(TargetName)$(TargetExt) $(BinDir)$(TargetName).lic
顺便提一下,对话窗口太小而且不太大。快速Google搜索从this超级用户问题中调出了this工具。这个特殊问题非常方便......
答案 1 :(得分:0)
在我的Visual Studio 2010副本中,$(BinDir)宏映射到Visual Studio二进制目录,因此上面的解决方案对我不起作用。
不幸的是,“外部工具”对话框可以使用的宏有些缺乏。似乎没有什么可以直接引用输出路径。
我能实现这一目标的唯一方法是通过硬编码“输出路径”部分,如下所示:
$(PROJECTDIR)\ BIN \调试\ $(的TargetName)$(TargetExt)
我讨厌硬编码“bin \ Debug”,但其他有用的宏如$(ConfigurationName)在外部工具设置中没有接合工作。唯一可以工作的宏是“外部工具”对话框的“帮助”窗口中记录的有限集。
这对我有用。我希望有人可以证明我是错的,并找到一种方法来访问这个目录,而无需硬编码部分目录名。