我有一个主持人,我在其中托管了一个扩展名为.cshtml
的网页。我的主机是 arvixe.com ,提供ASP和.NET托管,但当我尝试加载我的网页时,我收到此错误消息。
>应用程序中的服务器错误。此类网页未投放。
描述:未提供您请求的页面类型,因为它已被明确禁止。扩展名“.cshtml”可能不正确。请查看下面的网址,确保拼写正确。
请求的网址:/samples/WoT/Default.cshtml
版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.276
我读了一些东西,我必须在我的web.config文件中写一些东西才能使它工作 像这样
<compilation>
<assemblies>
<add assembly="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
<buildProviders>
<add extension=".cshtml" type="System.Web.WebPages.Razor.RazorBuildProvider, System.Web.WebPages.Razor"/>
</buildProviders>
</compilation>
但是我尝试了所有东西,将它粘贴在不同的行上,没有任何效果。我错过了什么或做错了什么?
答案 0 :(得分:6)
我相信您没有使用MVC功能并尝试仅在视图外部加载剃刀视图或自定义区域文件夹。
然后你需要在Web.config中启用webpages键,默认情况下在.Net 4.0中禁用它。
<add key="webpages:Enabled" value="true" />
答案 1 :(得分:1)
<appSettings>
<add key="webpages:Enabled" value="true" />
答案 2 :(得分:0)
使用IIS 10在Windows 10 Pro中修复此问题是一场噩梦,需要两天时间,但我终于可以使用以下步骤获得所需的结果:
在Visual Studio中打开您的网站。这样做的方法是转到文件&gt;新&gt;网站,然后选择 ASP.Net空网站并在单击确定之前将位置更改为项目位置。就我而言,我的项目是C:\inetpub\wwwroot\AspNet\Projects\Test
打开互联网信息服务管理器(点击“cortana”搜索并输入IIS,只要你安装了它就会出现)。在 ServerName&gt;下找到您的项目文件夹。网站&gt;默认网站&gt; ... ,右键单击它并单击“转换为Web应用程序”按钮。在大多数情况下,通过点击确定接受默认设置就足够了。
使用以下Web.Config文件或类似文件。 NuGet可能会覆盖某些设置,但这不是一个大问题。
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=301879
-->
<configuration>
<appSettings>
<add key="webPages:Version" value="3.0.0"/>
<add key="webpages:Enabled" value="true"/>
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
</system.web>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
</assemblyBinding>
</runtime>
</configuration>
删除 bin 文件夹和 packages.config 文件(如果存在)。这是因为我们必须假设该bin文件夹中的某些内容已损坏,因为IIS旨在运行Razor / ASP。在Visual Studio项目中,您需要刷新项目,以便知道这些文件已被删除。这可以通过单击 Solution Explorer 框架顶部菜单中的刷新按钮来完成。在您的visual studio项目中,转到工具&gt; NuGet包管理器&gt;包管理器控制台并输入以下两个命令。
安装包Microsoft.AspNet.Razor -Version 3.0.0
安装包Microsoft.AspNet.WebPages
这足以让Windows 10 Pro上的IIS 10呈现* .cshtml页面。