2017-08-22 3 views
1

Ich habe ein Projekt mit ein paar bedingten Builds. Ich habe es zusammengestellt. Und dann benutzte Dotpeek um es anzuschauen. Ich bemerkte ALLE bedingten Anweisungen und den Code, den es auch wenn nicht definiert umschließt.entfernen Sie nicht verwendete Präprozessor Symbole in C# binär

Da diese App für verschiedene Clients in einigen Schlüsselwegen geändert wird, möchte ich einen Build für diesen Client haben eine binäre ONLY enthält die aktiven #ifs, die definiert wurden.

Wie kann ich einen automatisierten Build, der dies erreicht?

+2

Bitte teilen Sie einen kleinen Code mit bedingten Anweisungen, die DotPeek aus der kompilierten Binärdatei wiederherstellen kann, die auf unserer Seite reproduziert werden kann. – Dmitry

Antwort

2

dotPeek macht 2 Dinge

  1. kann IL dekompilieren Code
  2. es kann die PDB-Datei lesen und die Quelldatei nachschlagen

Sie diese im Kontextmenü sehen. Ein Eintrag ist „dekompilierte Quellen“ und das andere ist „Quellen von Symboldateien“:

Context menu

Mit einem Doppelklick ein Element klicken, wird es zuerst versuchen Aktion 2 durchzuführen, das ist: anzeigen die Quelldatei, die auf Ihrer Festplatte vorhanden ist.

Hier sehen Sie ein sehr einfaches Programm:

  • links: Quellen von Symboldateien
  • Mitte: dekompilierten Quellen
  • rechts: IL-Code

Wie können Sie, die sehen Der kompilierte Code enthält nur die Teile, für die er kompiliert wurde.

Comparison

Daher gibt es keine Notwendigkeit, diese Teile in einem Build-Skript strippen, weil die DLL oder EXE es nicht enthält.

Verwandte Themen