2017-02-09 1 views
0

Ich versuche automatisieren Verschleierung mithilfe von Post-Build-Befehle in Visual Studio 2015. Ich habe die Schritte von this Artikel auf MSDN.Verschleierung Automatisierung durch Verwenden von Post-Build-Befehle in Visual Studio

Ich habe den Post-Build-Befehl wie in den Schritten erwähnt hinzugefügt und Dotfuscator.xml erstellt, im Root-Verzeichnis, d. H. Wo sich die vbproj-Datei befindet. Sobald ich das Projekt erstellen, erhalte ich folgende Fehlermeldung. Hier enter image description here

ist die Post-Build-Befehl:

"C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ PreEmptive Solutions \ Dotfuscator und Analytics Community Edition \ dotfuscator.exe"https://stackoverflow.com/q/p = SourceDirectory = $ (TargetDir), SourceFile = $ (TargetFileName) $ (ProjectDir) Dotfuscator.xml

Jeder Hinweis oder Lösung wird geschätzt.

Antwort

1

Mit Hilfe der Antworten von @Trevor und @Nathan, hier bin ich in der Lage zu erreichen, was gewünscht wurde.

  1. Zuerst habe ich die Dotfuscator.xml Datei Dotfuscator.exe verwenden. Einmalige Bereitstellung von Eingabedateien und generierter verschleierter DLL.

  2. Sobald es bestätigt ist, dass die XML-Datei funktioniert gut, habe ich dann folgende Postbuildereignis Befehl

dotfuscatorCLI.exe „$ (ProjectDir) Dotfuscator bauen.xml“

Ein andere Art und Weise gleiche Ergebnisse Above Lösung zu erreichen, wird funktionieren, aber es würde zu einem Computer spezifisch sein. Also, wenn Sie in einem Team arbeiten und es gibt Chancen, dass Sie Ihre Lösung auf mehreren Maschinen bauen . dann würde ich den Ansatz in dem Artikel, dessen Link definierte lieber in meiner Frage geteilt wurde jedoch erfordert dieser Ansatz ein geringfügige zwicken

Hier ist das Gefecht Build ist, die funktionieren.

dotfuscatorcli.exe/q /p = Sourcedirectory = "$ (TargetDir) \", Source = $ (TargetFileName) "$ (ProjectDir) Dotfuscator.xml"

Bitte beachten Sie hier die Dotfuscator.xml ist derjenige, der in Bezug genommen wird Der MSDN-Artikel, nicht der von dotfuscator.exe wie in der vorherigen Lösung erwähnt. Beachten Sie auch, wenn Ihr TargetFileName Leerzeichen enthält, dann setzen Sie doppelte Anführungszeichen um es.

Hoffen, das würde anderen helfen.

1

Sie müssen diese Pfade zitieren Sie vorbei ...

"C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ PreEmptive Solutions \ Dotfuscator und Analytics Community Edition \ dotfuscator.exe"https://stackoverflow.com/q/p = Sourcedirectory = "$ (TargetDir)", Source = "$ (TargetFileName)" $ (ProjectDir) Dotfuscator.xml

oder vielleicht

„C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ PreEmptive-Lösungen \ Dotfuscator und Analytics Community Edition \ dotfuscator.exe“/ q/p = "Sourcedirectory = $ (TargetDir), Source = $ (TargetFileName)" $ (ProjectDir) Dotfuscator.xml

-Test durch die exe von der Eingabeaufforderung um zu sehen, wie das Ding mit diesem Argument umgeht.

+0

Überraschenderweise hat dies funktioniert, und der Fehler ist weg. Nach dem Erstellen, anstatt eine verschleierte DLL zu erstellen, öffnet sich jedoch eine Eingabeaufforderung mit dem Windows-Titel "Dotfuscator1.xml *". Es gibt einen Input Tab ohne Einträge. Ich weiß nicht, was ich als nächstes tun soll, da es keine weiteren Schritte in dem Artikel gibt, dem ich folgte. –

+0

Entschuldigung, ich kann Ihnen nicht helfen, da ich zilch über dotfuscator weiß, obwohl ich davon ausgehe, dass die Config_File irgendwo diese Werte voreinstellt. Google dotfuscator Konfigurationsdatei Setup oder etwas. –

1

Jetzt, da Sie das Zitat Problem wie Trevor beschrieben, ich denke, das nächste Problem ist, dass Sie wahrscheinlich eine Version von Dotfuscator, die nicht über die Befehlszeile unterstützen.

Visual Studio 2015 Update 3 (und VS 2017) enthält eine Version der Dotfuscator Community Edition (CE) mit Befehlszeilenunterstützung. (Sie müssen sich registrieren, um es zu aktivieren.) Wenn Sie eine frühere Version von VS 2015 verwenden, können Sie eine Version von Dotfuscator CE herunterladen, die über die Befehlszeilenunterstützung von PreEmptive verfügt. Details finden Sie unter instructions here.

Volle Offenbarung: Ich arbeite für PreEmptive Solutions.

Verwandte Themen