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

Dav*_*sky 1 visual-studio-2010 iis-express asp.net-web-api

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

notservederror

"这种类型的页面不会被提供."

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

我试过的:

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

我已经尝试过使用runAllManagedModulesForAllRequestsWeb.config中的设置,没有运气.

开发服务器和IIS Express中都会发生此错误.

我已经重新启动了.

但是,如果我通过WebMatrix2 UI创建一个站点,它就可以工作.通过WebMatrix添加到该网站的Razor .cshtml文件渲染得很好.

TIA!

Dav*_*sky 9

成功!

问题是默认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>
Run Code Online (Sandbox Code Playgroud)

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

这个问题解释了webpages:Enabled设置: 网页的功能是什么:在MVC 3 web.config中启用