2017-02-09 21 views
0

Visual Studio 2015でビルド後のコマンドを使用して難読化を自動化しようとしています。私はMSDNのthisの記事の手順を実行しました。Visual Studioでのビルド後のコマンドによる難読化の自動化

手順で説明したポストビルドコマンドを追加し、ルートディレクトリ、つまりvbprojファイルのある場所に配置されたDotfuscator.xmlを作成しました。 プロジェクトをビルドすると、次のエラーメッセージが表示されます。ここで enter image description here

ビルド後のコマンドです:

"C:\プログラムファイル(x86の)\のMicrosoft Visual Studioの14.0プリエンプティブソリューション\ \ Dotfuscatorと分析コミュニティ版の\ dotfuscator.exe"/Q/P = SourceDirectory = $(TargetDir)、SourceFile = $(TargetFileName)$(ProjectDir)Dotfuscator.xml

ヒントや解決策はあります。あなたが渡しているそれらのパスを引用符で囲む必要がある

答えて

1

@Trevorと@Nathanの回答を参考にして、ここでは私が望むものを達成することができました。

  1. 最初にDotfuscator.exeを使用してDotfuscator.xmlファイルを作成しました。入力ファイルを提供し、難読化されたDLLを生成しました。 XMLファイルが正常に動作していることが確認されています一度

  2. は、私は、ポストビルドイベントビルドコマンド

dotfuscatorCLI.exe「$(PROJECTDIR)Dotfuscator以下を追加しました。XML」

同じ結果溶液上の を達成するための別の方法は動作しますが、それは、1台のコンピュータに特定のでしょう。あなたはチームで作業しているのであれば、あなたは複数のマシン上であなたのソリューションを構築する可能性がありますその後、私は、そのリンク私の質問に共有されていた記事に定義されたアプローチを好むだろうしかしそのアプローチはマイナーな微調整が必​​要です。ここ

が動作するポストビルドコマンドです:。。

dotfuscatorcli.exe/q /P = SourceDirectory = "$(TARGETDIR)\"、SOURCEFILE = $(TargetFileName) "$(PROJECTDIR)Dotfuscator.xml"

Dotfuscator.xmlがで言及されているものである、ここで注意してくださいMSDNの記事ではなく、以前の解決策で述べたdotfuscator.exeによって生成された記事ではありません。また、TargetFileNameにスペースが含まれている場合は、その周りに二重引用符を入れてください。

これは他の人に役立つことを願っています。

1

...

"C:\プログラムファイル(x86の)は、MicrosoftのVisual Studio \ 14.0 \プリエンプティブソリューションは、Dotfuscatorと分析コミュニティ版\ dotfuscator.exeを\"/Q/P = SourceDirectory = "$(TARGETDIR)"、SOURCEFILE = "$(TargetFileName)" $(PROJECTDIR)Dotfuscator.xml

それとも

「C:\プログラムファイル(x86の) \ Microsoft Visual Studio 14.0 \ PreEmptive Solutions \ Dotfuscator and Analyticsコミュニティ版\ dotfuscator.exe」/ Q/P = "SourceDirectory = $(TARGETDIR)、SOURCEFILE = $(TargetFileName)" $(PROJECTDIR)Dotfuscator.xml

テストも、コマンドプロンプトからexeファイルを実行して、物がその議論をどのように扱うかを見る。

+0

驚いたことに、これはうまくいき、エラーはなくなりました。ただし、難読化されたDLLを作成する代わりにビルドした後、Windowsのタイトル「Dotfuscator1.xml *」のプロンプトが開きます。エントリのない入力タブがあります。次の記事にはこれ以上ステップがないので、私は次に何をすべきかわかりません。 –

+0

申し訳ありませんが、私はあなたがそれらの値をプリセットのどこかにあると仮定していますが、私はdotfuscatorについてzilchを知っているので、私はそれを助けません。 Google dotfuscator設定ファイルの設定など。 –

1

Trevorの説明どおりの引用問題を整理したので、次の問題はおそらくコマンドラインをサポートしていないDotfuscatorのバージョンを実行している可能性が高いと思います。

Visual Studio 2015 Update 3(およびVS 2017)には、コマンドラインをサポートするDotfuscator Community Edition(CE)のバージョンが含まれています。 VS 2015の以前のバージョンを使用している場合は、PreEmptiveからコマンドラインをサポートしているDotfuscator CEのバージョンをダウンロードすることができます。詳細はinstructions hereをご覧ください。

詳細情報:私はPreEmptive Solutionsで働いています。

関連する問題