ASP.NET Razor Views被视为非用户代码

时间:2016-05-31 13:33:42

标签: c# asp.net-mvc razor visual-studio-2015

我想知道Visual Studio将ASP.NET Razor Views(CSHTML文件)视为非用户代码的原因。我发现当我的MVC由IIS在应用程序池 NOT 中执行时允许32位应用程序,然后视图作为非用户代码加载。 (我使用Visual Studio模块窗口检查它。)

当没有加载符号时,我无法在任何视图中调试,因为没有点击断点。如果询问PDB文件:它们是与每个视图的DLL一起创建的。需要说明的是,如果我尝试 manullay 通过Moduel窗口加载它们,它会错误地显示错误,因为DLL和PDB显然不匹配(?)。代码其他部分的断点正常工作。

如果我在池配置中启用了32位应用程序,那么Razor View的DLL文件将作为用户代码加载,断点再次工作

此问题不会影响与文件(CS扩展名)相关的代码,例如控制器,这些代码被编译为用户代码,并且加载的符号没有问题。

我认为这是与调试,发布配置相关的项目的某种错误配置。我还删除了bin,obj文件夹,临时文件......我做了互联网上没有运气的所有事情。问题不存在,它在IIS池配置中。 (我的应用程序有一个专用池。)

当我的同事运行相同的代码并且在几乎相同的机器中可以将视图编译为用户代码时,无论IIS中的池配置如何,这个谜都会扩展。

必须有一些我不知道的隐藏配置会让VS表现得像这样。如果有人能解释这是如何工作的,我将不胜感激。我有一个解决方案来启用池以启用32位应用程序,但我真的想知道问题的含义和起源。

非常感谢你!

0 个答案:

没有答案