我正在尝试使用razor语法编写ASP.NET网页,因此我创建了一个示例网站。如果我在WebMatrix中查看网站或使用VisualStudio(在浏览器中查看)一切正常。当我尝试创建IIS站点时,尝试访问任何.cshtml文件时出现404错误。常规html文件在网站上运行。它被设置为.net 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"
注意:我编辑我的 C:\Windows\System32\drivers\etc\hosts 文件以添加 127.0.0.1 dev.projectnamehere.com
并使用在线工具为我安装的域创建自签名 TLS 证书,以获得所有像生产一样工作。