Ich habe ein Visual Studio 2008 C # /. NET 3.5-Projekt mit einer Post-Build-Aufgabe, um den Inhalt zu komprimieren. Ich stelle jedoch fest, dass ich auch die PDF-Dateien (Debug) und XML-Dateien (Dokumentation) der referenzierten Assemblys in meinem Ausgabeverzeichnis (und in ZIP) erhalte.
Wenn MyProject.csproj beispielsweise auf YourAssembly.dll verweist und sich YourAssembly.xml- und YourAssembly.pdb-Dateien im selben Verzeichnis wie die DLL befinden, werden sie in meinem Ausgabeverzeichnis (und in ZIP) angezeigt.
Ich kann * .pdb beim ZIP ausschließen, aber ich kann die * .xml-Dateien nicht pauschal ausschließen, da ich Bereitstellungsdateien mit derselben Erweiterung habe.
Gibt es eine Möglichkeit, zu verhindern, dass das Projekt referenzierte Assembly-PDB- und XML-Dateien kopiert?
quelle
Ich wollte in der Lage sein, Assemblys, auf die verwiesen wird, in meiner primären Anwendung hinzuzufügen und zu entfernen, ohne die Notwendigkeit zu haben, zu pflegen, welche Dateien ich löschen oder ausschließen musste.
Ich
Microsoft.Common.targets
suchte nach etwas, das funktionieren würde, und fand dieAllowedReferenceRelatedFileExtensions
Immobilie. Der Standardwert ist.pdb; .xml
so , dass ich ihn explizit in meiner Projektdatei definiert habe. Der Haken ist, dass Sie etwas benötigen (Leerzeichen reichen nicht aus), andernfalls wird weiterhin die Standardeinstellung verwendet.quelle
Sie können einen Post Build-Ereignisbefehl ähnlich wie hinzufügen
del "$(TargetDir)YourAssembly*.xml", "$(TargetDir)YourAssembly*.pdb"
quelle
Dies ist eine ziemlich alte Frage, aber da es keine Antwort gibt, wie das Generieren von PDB- und XML-Dateien über die Benutzeroberfläche deaktiviert werden kann, habe ich der Vollständigkeit halber angenommen, dass sie hier sein sollte.
In Visual Studio 2013: Deaktivieren Sie in den Projekteigenschaften auf der Registerkarte "Kompilieren" die Option "XML-Dokumentationsdatei generieren", klicken Sie darunter auf "Erweiterte Kompilierungsoptionen" und ändern Sie "Debug-Informationen generieren" in "Keine".
quelle
pdb
und aufxml
Dateien.Meine Antwort mag jetzt trivial sein, aber ich möchte das BAT-Skript, mit dem ich die XML-Dateien lösche, teilen, wenn es eine entsprechende DLL dafür gibt. Dies ist nützlich, wenn Sie nur den Ausgabeordner bereinigen möchten und andere XML-Dateien haben, die nicht entfernt werden sollen.
Verwendung:
Ich brauchte eine Stunde, um diese einfache Arbeit (dank der "verzögerten Erweiterung") mit allen Arten der Suche hier und da zu beenden. Hoffe, es hilft anderen BAT-Neulingen wie mir.
quelle
Ich hatte nicht viel Glück mit den anderen Antworten, habe ich endlich herausgefunden, wie dies in meiner Implementierung zu tun , indem die eingebaute mit Befehl „Löschen“ , anscheinend gibt es eine bestimmte Art und Weise müssen Sie Platzhalter implementieren , es ist etwas nuanciert , ist hier Alles, was Sie in Ihr "CSPROJ" ( TargetDir ist eine integrierte Variable, die automatisch aufgenommen wird) unter dem Tag "Project" einfügen müssen:
Ich hatte auch Probleme mit der Generierung verschiedener sprachspezifischer Ordner. Wenn Sie dieses Problem ebenfalls haben, können Sie auch nicht verwendete sprachspezifische Ordner entfernen. Ich habe mich entschieden, dies nur unter dem Build-Typ "Release" auszulösen:
quelle
Wenn Sie nur die XML-Dateien ausschließen möchten (z. B. eine Debug-Version), können Sie Folgendes tun:
Grundsätzlich wird jede aufgelistete Erweiterung (durch ein Semikolon getrennt) ausgeschlossen.
quelle