这很有趣!
我刚刚注意到我的 MVC View 中的异常在堆栈跟踪中具有行号!这意味着 - 我的观点是用 PDB 编译的。
我查看了服务器上的“临时 ASP.NET 文件”文件夹 - 是的,每个 View 都有 PDB 文件。
我有<compilation debug="false"/>
在我的 web.config 中。
为什么会发生这种情况以及如何禁用它?这是生产服务器,所以我想禁用 pdb 生成。
我检查了 windir%\Microsoft.NET\Framework64\[version]\config\
中的“web.config”、“Views/web.config”、“machine.config”、默认“web.config” - 我想我在那里没有发现任何可疑的编译器选项...我在哪里看?
或者我只是在浪费时间,这是无法更改的默认选项?
PS。更多信息,以防万一:这是一个 MVC 4 应用程序, View 是用 Razor 编写的。最佳答案
找到了!!
这似乎是 Razor 的默认设置 - it is always compiled with DEBUG option and you can't change it - 但我想我找到了解决方案。
将此添加到您的 machine.config 似乎可以解决问题:
<configuration>
<system.web>
<deployment retail="true"/>
<system.web>
</configuration>
至少我在“临时 ASP.NET 文件”中没有看到任何更多的 .pdb。
有关此标志的更多信息,请访问 ScottGu 的博客:http://weblogs.asp.net/scottgu/Don_1920_t-run-production-ASP.NET-Applications-with-debug_3D001D20_true_1D20_-enabled
关于asp.net - 为什么我的 MVC View 是用 PDB 编译的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31035371/