Om jag kör Debug.WriteLine i mitt .net-projekt, ligger de kvar även efter release-kompilering? >Om jag kör Debug.WriteLine i mitt .net-projekt, ligger de kvar även efter release-kompilering? Sysslar inte med C#, men om man gör Debug.WriteLine(f()), där f gör en bestående förändring i programmet, kommer alltså detta f inte längre att finnas kvar? Just det. Vill man att f ska köras oavsett skriver man naturligtvis Och gissa vad som händer i vb.net om du skriver Debug.WriteLine(f()) :-)Kompileras debug i release?
Tog release och tryckte på |> då fick jag fortfarande debug-meddelande...
Mr T @thomassida.cjb.netSv: Kompileras debug i release?
Nej det ska de normalt inte göra. De inkluderas bara om du har symbolen DEBUG definierad.
MSSv: Kompileras debug i release?
Det innebär ju i så fall att programmet får en annan funktion, bara för att det står debug och inget annat...Sv: Kompileras debug i release?
X y = f();
Debug.WriteLine(y);
istället. Dokumentation finns på
http://msdn.microsoft.com/library/en-us/csspec/html/vclrfcsharpspec_17_4_2.asp
MSSv: Kompileras debug i release?
Debug klassen är från .NET Framework och inte C# specifik. Om du inte redan använder den så rekommenderar jag den varmt, om du även vill se sin trace i release så använder du Trace klassen (exakt samma metoder som Debug).
Fast du kanske tänker på pre-.net och använder Debug.Print(f()). Det är möjligt att Debug.Print även kördes i release, jag vet inte. I så fall skiljer sig .NET från vb 6 på denna punkt.
/Mattias