Laden...

WPF-Anwendung: Release veröffentlicht *.pdb und *.config

Letzter Beitrag vor 10 Monaten 7 Posts 673 Views
WPF-Anwendung: Release veröffentlicht *.pdb und *.config

Gegeben:
Microsoft Visual Studio Professional 2022 (64-Bit), Version 17.7.6
Windows 11 Pro
WPF-Anwendung

Hallo!

Wenn ich meine WPF-Anwendung in einem lokalen Ordner veröffentliche, sollte nur eine einzelne EXE-Datei erstellt werden. Allerdings mogelt sich eine *.pdb und neuerdings *.config.

*.pdb: Ich veröffentliche selbstverständlich die Release-Version und ich würde gerne darauf verzichten, immer wieder diese Symboldatei löschen zu müssen. Leider kann ich in den Projekteigenschaften nicht getrennt für Debug und Release die Erstellung der Symboldatei beeinflussen: Ändere ich die Einstellung für Release, ist Debug auch gleich mitgeändert.

Ich habe daher das Post-Build-Ereignis del /Q "$(TargetDir)*.pdb" für Release implementiert, dennoch erscheint beim Veröffentlichen die PDB-Datei im Ausgabeordner. In bin\Release ist sie aber nicht vorhanden.

*.dll.config: Bis gestern nicht der Fall und nun erscheint auch diese Datei im Veröffentlichungsordner mit folgendem Inhalt:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
</configuration>

Ich habe aber nichts programmiert, was in eine Konfigurationsdatei müsste. Auch diese Datei brauche ich im Veröffentlichungsordner nicht.

Wie erreiche ich ohne große Verrenkungen, dass diese Dateien nicht im Veröffentlichungsordner erscheinen?

Danke und LG, René

René

OK, was PDB angeht, habe ich selbst die Lösung. In den Projekteinstellungen lassen sich in der Tat die Einstellungen nicht getrennt setzen, aber in der *.csproj doch:

 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
   <DebugType>full</DebugType>
 </PropertyGroup>
 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
   <DebugType>none</DebugType>
 </PropertyGroup>

DebugType auf "none" gesetzt und schon funktioniert es.

Jetzt muss ich mich dem andern Problem widmen (*.dll.config).

René

Ja, gleich groß, gleich leer... 🙄

René

Hallo pollito,

dann lösch die App.config einfach (wenn eh nichts drin ist).

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

Danke euch beiden. Alles wieder OK.

LG

René

René

Hallo pollito,

noch ein kleiner Tipp: die Condition in MsBuild (die *.csproj ist im Grunde eine Projekt-Datei für MsBuild) kann vereinfacht werden:

 <PropertyGroup Condition="'$(Configuration)'=='Debug'">
   <DebugType>full</DebugType>
 </PropertyGroup>
 <PropertyGroup Condition="'$(Configuration)'=='Release'">
   <DebugType>none</DebugType>
 </PropertyGroup>

Hier könnte auch z.B. für Debug die Condition ganz wegfallen, d.h. es wird zuerst der Wert für alle Konfigurationen gesetzt (es kann ja auch mehr als Debug und Release geben), dann für Release wird er überschrieben.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"