2015-06-24 3 views
9

Jetzt ist das interessant!Warum werden meine MVC-Ansichten mit PDB kompiliert?

Ich habe gerade bemerkt, dass Ausnahmen in meinen MVC Views Zeilennummern in der Stack-Trace haben! Was bedeutet - meine Ansichten werden mit PDB zusammengestellt.

Ich schaute auf den Ordner "temporäre ASP.NET-Dateien" auf meinem Server - und ja, gibt es PDB-Dateien für jede Ansicht.

Ich habe <compilation debug="false"/> in meiner web.config.

Warum passiert das und wie deaktiviere ich das? Das ist der Produktionsserver, also möchte ich die pdb-Generation deaktivieren.

Ich habe meine "web.config", "Views/web.config", "machine.config", Standard "web.config" in windir%\Microsoft.NET\Framework64\[version]\config\ überprüft - ich denke, ich habe keine verdächtigen Compiler-Optionen dort gefunden .. Wo schaue ich hin?

Oder verschwende ich nur meine Zeit und dies ist die Standardoption, die nicht geändert werden kann?

PS. Weitere Informationen, nur für den Fall: Dies ist eine MVC 4 App, die Ansichten sind in Razor geschrieben.

+0

Ich vermute, es ist nur ein Standard, die Sie nicht ändern können. Wenn ich ein Projekt (z. B. eine Klassenbibliothek) im Freigabemodus kompiliere, erhalte ich immer noch pdb-Dateien. –

+1

Ich denke, wenn Sie die Veröffentlichungsfunktion verwenden, gibt es die PDBs nicht aus und enthält nur die minimal erforderlichen Dateien. – br4d

Antwort

5

Es gefunden !!

Scheint so, als wäre dies die Standardeinstellung für Razor - it is always compiled with DEBUG option and you can't change it - aber ich denke, ich habe die Lösung gefunden.

diese zu Ihrem machine.config Hinzufügen scheinen das Problem zu beheben:

<configuration> 
    <system.web> 
     <deployment retail="true"/> 
    <system.web> 
</configuration> 

Wenigstens habe ich keine mehr PDB in meinem „Temp ASP.NET Files“ sehen.

Mehr Informationen zu dieser Flagge auf ScottGu Blog: http://weblogs.asp.net/scottgu/Don_1920_t-run-production-ASP.NET-Applications-with-debug_3D001D20_true_1D20_-enabled

Verwandte Themen