Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Debug-Projektreferenz und Release-Nuget-Package
Fabiano
myCSharp.de - Member



Dabei seit:
Beiträge: 25

Themenstarter:

Debug-Projektreferenz und Release-Nuget-Package

beantworten | zitieren | melden

Hallo zusammen!

Ich habe eine Applikation, die gegen mehrere selbstentwickelte Libraries linkt und möchte die daher bei Debug-Builds via Projektreferenz im VS einbinden, bei Release-Builds hingegen als Nuget-Paket. Gibt es da irgendeine Möglichkeit, die ich bisher übersehen habe? Leider finde ich bei Google nichts, kann aber sein, dass ich die falschen Keywords verwende.

Vielen Dank für eure Antworten!
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16.306

beantworten | zitieren | melden

Hallo. Nein, dafür gibt es keinen direkten Automatismus.
Um beim Debug mehr Informationen zu bekommen, gibt es Symbolpakete.
How to publish NuGet symbol packages using the new symbol package format '.snupkg'

Dort sind zwei Strategien beschrieben; ich verwende zB. meistens die Embedded Variante.
private Nachricht | Beiträge des Benutzers
Palladin007
myCSharp.de - Experte

Avatar #avatar-4140.png


Dabei seit:
Beiträge: 1.878
Herkunft: Düsseldorf

beantworten | zitieren | melden

Würde es nicht funktionieren, in der csproj die ProjectReference bzw. PackageReference abhängig von der Konfiguration zu verwenden?
Gehen würde es sicher, ob Visual Studio damit umgehen kann, ist eine andere Frage und ob das sinnvoll ist, ist nochmal eine andere Frage
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 6.860
Herkunft: Waidring

beantworten | zitieren | melden

Hallo Fabiano,

wie Palladin007 angemerkt hat geht das via MsBuild-Conditions, z.B.

<ItemGroup>
    <ProjectReference Condition="'$(Configuration)' == 'Debug'" ...

    <!-- od. Release statt Debug -->
    <PackageReference Condition='$(Configuration)' != 'Debug'" ...
</ItemGroup>

VS kann damit umgehen. Aber i.d.R. gibt es dafür keinen Grund, denn wie Abt erwähnte gibt es dazu Symbolpakete bzw. in die Assembly eingebette Symbole, so dass das Debug-Verhalten besser funktioniert.

Daher sollte bei Fragen idealerweise auch das eigentliche Ziel mit angegeben werden, damit potentielle Helfer wissen worum es geht.
Es kann ja sein, dass sich der Fragende in eine Sackgasse begiebt, das aber aufgrund der sehr konkreten Frage nicht sofort ersichtlich ist -- sich aber erahnen lässt.

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!"
private Nachricht | Beiträge des Benutzers
Palladin007
myCSharp.de - Experte

Avatar #avatar-4140.png


Dabei seit:
Beiträge: 1.878
Herkunft: Düsseldorf

beantworten | zitieren | melden

Ich rate mal in den Raum rein:

Hier geht es um zwei oder mehr "Haupt-Projekte" und ein gemeinsam genutztes weiteres Projekt, das mit NuGet verteilt werden soll.
Mit ProjectReferences kann man einfach "rein" debuggen und bearbeiten, das geht mit PackageReferences nicht.
Hier geht es also darum, den Umweg über einen neuen NuGet-Build oder eine geeignete Test-Grundlage zu überspringen.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Palladin007 am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16.306

beantworten | zitieren | melden

Zitat von Palladin007
Mit ProjectReferences kann man einfach "rein" debuggen und bearbeiten, das geht mit PackageReferences nicht.
Solange die Symbols dabei sind, kannst Du alles debuggen, egal ob Projekt oder Paket.
private Nachricht | Beiträge des Benutzers