用于ASP.NET WebPages和IIS的Razor

时间:2011-01-31 19:23:00

标签: iis razor webmatrix asp.net-webpages

我正在尝试使用razor语法编写ASP.NET网页,因此我创建了一个示例网站。如果我在WebMatrix中查看网站或使用VisualStudio(在浏览器中查看)一切正常。当我尝试创建IIS站点时,尝试访问任何.cshtml文件时出现404错误。常规html文件在网站上运行。它被设置为.net 4集成。我用谷歌搜索了一个小时没有运气。

4 个答案:

答案 0 :(得分:1)

您是否刚刚将MVC应用程序的文件复制到IIS的目录(或虚拟目录)中?

为了使ASP.NET MVC应用程序正常工作,您需要在IIS管理器中配置Web应用程序(右键单击“默认网站”并选择“添加应用程序”)。然后将应用程序部署到刚创建的应用程序目录。

答案 1 :(得分:0)

我们公司遇到了完全相同的问题。为了使它工作,我们必须进行完整的.Net 4安装,页面正确提供。

答案 2 :(得分:0)

检查“.cshtml”是否在网站的

中正确映射

属性 - >主页目录 - >配置...... - >映射

我的地图映射到:

C:\ WINDOWS \ microsoft.net \框架\ v4.0.30319 \ ASPNET_ISAPI.DLL

答案 3 :(得分:0)

对于不适用于 .NET Core 或 .NET 5 站点的 razor 页面来说,这是一个热门话题。

我喜欢在 IIS 中运行我的本地开发,因为它反映了生产。设置新项目时,我像往常一样在 IIS 中设置它,但得到 404。所有先决条件都已安装,我什至还有其他 .NET 5 razorpage 站点正在运行,所以知道这是一个项目设置。

对我来说修复是编辑 Properties\launchSettings.json(或通过 GUI Project > ProjectNameHere Properties > Debug 选项卡编辑)

删除除以我的项目“ProjectNameHere”命名的配置文件之外的所有配置文件 有以下设置:

  "commandName": "IIS",
  "launchBrowser": false,
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development",
    "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"
  },
  "dotnetRunMessages": "true",
  "applicationUrl": "https://dev.projectnamehere.com"
  1. 然后保存并按 F5 或工具栏中的“调试”按钮。
  2. 网站现在可用于 https://dev.projectnamehere.com
  3. 停止调试
  4. 像普通网站一样点击 https://dev.projectnamehere.com
  5. 进行剃刀页面更改,正常刷新浏览器页面,查看更改

注意:我编辑我的 C:\Windows\System32\drivers\etc\hosts 文件以添加 127.0.0.1 dev.projectnamehere.com 并使用在线工具为我安装的域创建自签名 TLS 证书,以获得所有像生产一样工作。