现在这很有趣!
我刚注意到我的MVC视图中的异常在堆栈跟踪中有行号!这意味着 - 我的观点是用PDB编译的。
我查看了服务器上的“Temporary ASP.NET Files”文件夹 - 是,每个视图都有PDB文件。
我的web.config中有<compilation debug="false"/>
。
为什么会发生这种情况?如何禁用它?这是生产服务器,因此我想禁用pdb生成。
我检查了我的“web.config”,“Views / web.config”,“machine.config”,windir%\Microsoft.NET\Framework64\[version]\config\
中的默认“web.config” - 我想我还没有找到任何可疑的编译器选项那里......我在哪里看?
或者我只是在浪费时间,这是无法更改的默认选项?
PS。更多信息,以防万一:这是一个MVC 4应用程序,视图是用Razor编写的。
答案 0 :(得分:5)
发现它!!
似乎这是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>
至少我在我的&#34; Temp ASP.NET Files&#34;中找不到.pdb了。
有关ScottGu博客的更多信息:http://weblogs.asp.net/scottgu/Don_1920_t-run-production-ASP.NET-Applications-with-debug_3D001D20_true_1D20_-enabled