2

サードパーティのライブラリの署名ツールを外部ツールとして設定しようとしています。引数は次のようになっています。

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か?ここでドキュメントを見ましたが、それを行う方法がわかりません。

4

2 に答える 2

4

ダイアログウィンドウを開いてパラメーターをいじってみました。以下は私が望むものを達成します。興味深いことに、Visual Studio 2010 は、適切なパスを作成するために、必要に応じてスラッシュやピリオドを挿入するのが賢明です。印象的!

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

ちなみに、ダイアログウィンドウは小さすぎてサイズが大きくありません。簡単な Google 検索で、このスーパーユーザーの質問からこのツールが見つかりました。この特定の問題に非常に便利です...

于 2011-12-13T13:34:26.027 に答える
0

私の Visual Studio 2010 のコピーでは、$(BinDir) マクロが Visual Studio のバイナリ ディレクトリにマップされていたため、上記の解決策はうまくいきませんでした。

残念ながら、[外部ツール] ダイアログで使用できるマクロが不足しています。出力パスを直接参照するものはないようです。

これを達成できる唯一の方法は、次のように「出力パス」部分をハードコーディングすることでした。

$(ProjectDir)\bin\Debug\$(TargetName)$(TargetExt)

「bin\Debug」をハードコーディングするのは嫌いですが、$(ConfigurationName) のような他の便利なマクロは、外部ツールの設定内で動作するように継ぎ目がありませんでした。動作するように継ぎ合わされた唯一のマクロは、[外部ツール] ダイアログの [ヘルプ] ウィンドウに記載されている限定されたセットです。

それでうまくいきました。誰かが私が間違っていることを証明し、ディレクトリ名の一部をハードコーディングせずにこのディレクトリにアクセスする方法を見つけてくれることを願っています。

于 2012-01-29T02:31:38.020 に答える