IIS Express(WebMatrix 2)不会在Web API项目(VS10 / WinXP)中提供.cshtml文件

时间:2012-09-21 15:31:33

标签: visual-studio-2010 asp.net-web-api iis-express

我试图通过WebMatrix 2在WinXP上运行一个WebAPI项目。我在尝试浏览index.cshtml(在根目录中)时遇到此错误:

notservederror

“此类网页未投放。”

我在Visual Studio 2010中的MVC4项目类型下创建了一个WebAPI项目,然后将项目设置为在IIS Express下运行。

我尝试过的事情:

VS创建的WebMatrix站点中的.NET CLR设置是.NET 4.0(集成)。

我已经尝试过在Web.config中使用runAllManagedModulesForAllRequests设置,但没有运气。

开发服务器和IIS Express中都会出现错误。

我已经重新启动了。

但是, 如果我通过WebMatrix2用户界面创建网站就可以了。通过WebMatrix添加到该网站的Razor .cshtml文件渲染得很好。

TIA!

1 个答案:

答案 0 :(得分:9)

<强> SUCCESS!

问题是默认WebAPI模板web.config中的一行:

<appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />  <-- BAD!!!!
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>

webpages:Enabled设置为true设置解决了问题,现在我的.cshtml文件正常工作。希望这有助于其他人。

此问题解释了webpages:Enabled设置: what is the function of webpages:Enabled in MVC 3 web.config