Visual studio 2010 Visual Studio 2010外部工具\obj\Debug vs\bin\Debug

Visual studio 2010 Visual Studio 2010外部工具\obj\Debug vs\bin\Debug,visual-studio-2010,external-tools,Visual Studio 2010,External Tools,我正在尝试设置第三方库的签名工具作为外部工具。这些论点应如下所示: 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

我正在尝试设置第三方库的签名工具作为外部工具。这些论点应如下所示:

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
?我已经看了文档,但没有找到任何方法。

我通过打开对话框窗口并播放参数找到了答案。以下是我想要的。有趣的是,VisualStudio2010在必要时加入斜杠/句点,以创建一条合理的路径。令人印象深刻

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

顺便说一句,对话框窗口太小,无法调整大小。一个快速的谷歌搜索工具从超级用户问题中出现。对于这个特殊问题非常方便…

在我的Visual Studio 2010副本上,$(BinDir)宏映射到Visual Studio二进制目录,因此上面的解决方案对我不起作用

不幸的是,可供“外部工具”对话框使用的宏有些缺乏。似乎没有可以直接引用输出路径的内容

实现这一点的唯一方法是将“输出路径”部分硬编码如下:

sign.exe "c:\projectdir\bin\debug\exename.exe" "c:\projectdir\bin\debug\exename.lic"
$(ProjectDir)\bin\Debug\$(TargetName)$(targetText)

我讨厌硬编码“bin\Debug”,但其他有用的宏,如$(ConfigurationName),无法在外部工具设置中工作。只有在“外部工具”对话框的“帮助”窗口中记录的有限宏集才起作用

这对我来说很有效。我希望有人能证明我错了,找到一种不用硬编码部分目录名就可以访问这个目录的方法