我查看过其他帖子,但似乎没有人回答我的需要。
我转到http://local.com/cscsu_bi/ContentPage.cshtml,但无法解决以下错误
“/”应用程序中的服务器错误。
此类网页未投放。
描述:未提供您请求的页面类型,因为它已被明确禁止。扩展名“.cshtml”可能不正确。请查看下面的网址,确保拼写正确。
请求的网址:/cscsu_bi/ContentPage.cshtml
web.config文件如下
<?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings> <add key="webpages:Enabled" value="true" /> </appSettings> <system.web> <compilation debug="true" targetFramework="4.0" /> </system.web> </configuration>
我在Windows 7上。有什么明显的我做错了吗?
由于
答案 0 :(得分:8)
我错过了Microsoft.AspNet.WebPages
NuGet包。安装它解决了我的问题。 (此包依赖Microsoft.Web.Infrastructure
和Microsoft.Web.Razor
,因此包含它们)
如果您使用NuGet控制台,只需输入:
Install-Package Microsoft.AspNet.WebPages
答案 1 :(得分:5)
我在很多机器上设置了Razor,并且经常发现我需要在我的bin文件夹中包含以下DLL:
答案 2 :(得分:1)
看看这篇文章。
http://www.asp.net/web-pages/overview/more-resources/aspnet-web-pages-(razor)-troubleshooting-guide
这在修复了所有IIS设置和引用后修复了我的问题。
确保您网站的根目录中至少包含一个.cshtml文件。
答案 3 :(得分:1)
这可能不是您的确切问题,但我发生这种情况有几个原因:
服务器上的不正确的框架:确保目标框架 项目由服务器支持。只是改变了 编译元素的targetFramework属性可能不是 足够的,因为您的项目的DLL可能会被编译 反对4.5框架。
应用程序池的不正确框架:如果发生这种情况,也会发生这种情况 您的应用程序池未使用正确的.Net CLR版本。使 确定它使用的是4.0而不是2.0
答案 4 :(得分:1)
在我的案例中,罪魁祸首是Global.asax被置于&#39; / Views&#39;夹。当项目针对MVC3时,这在某种程度上起作用。一旦解决方案升级到MVC4,运行所述解决方案将导致上述错误。同样,其他错误也会提到:
&#34;未设置默认网页且已禁用目录浏览&#34;
解决方案:升级到MVC4 +之后,我不得不在容器项目的根文件夹下手动移动Global.asax。请务必检查Global.asax以确保其中应用的命名空间是正确的。只是我的2c。
答案 5 :(得分:1)
在我的情况下,我在webpages:Enabled
下将true
设置为appSettings
:
<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>
根据发布的内容:what is the function of webpages:Enabled in MVC 3 web.config,这将阻止从Web浏览器直接访问Views文件夹中的文件。