繁体   English   中英

发布到 IIS 时找不到 ASP.NET Core 页面

[英]ASP.NET Core page not found when publishing to IIS

我将我的 ASP.NET Core 项目从 RC1 更新到 1.0 RTM(使用 preview2 工具),一切正常。 我可以在 Visual Studio 中毫无问题地进行调试。 接下来我想在 Windows Server 2008 R2 和 IIS 7.5 上上传站点。 我安装了必要的 Windows 托管工具并在 IIS 中创建了 Web 应用程序。 问题是,在我尝试打开页面后,它返回了 404 错误。 正如我在任务管理器中看到的,我的应用程序正在运行,但在侦听模式下停止。

在日志文件中,我只看到这些条目:

Hosting environment: Production
Content root path: C:\inetpub\wwwroot\MySite
Now listening on: http://localhost:20706
Application started. Press Ctrl+C to shut down.

似乎 IIS 集成存在一些问题。 我的web.config文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="..\..\approot\MySite\MySite.exe" arguments="" forwardWindowsAuthToken="true" stdoutLogEnabled="true" />
    <httpErrors errorMode="Detailed" />
  </system.webServer>
</configuration>

我尝试了一些来自 GitHub 的解决方法,这影响了 Startup.cs 文件的Configure方法,但没有成功。

有任何想法吗?

仅供参考.. app 文件夹中缺少此 web.config 文件。 该文件应位于:C:\wwwwroot\myapp\

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath=".\XXX.exe" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
    </system.webServer>
  </location>
</configuration>

不要忘记将 XXX.exe 替换为您的 Web API exe 名称的正确名称。

好的,我遇到了多个问题,但我的网站无法正常工作的两个主要原因:

  1. 我不能从两个不同的地方开始代码。 我最初将 wwwroot 的内容放在 wwwroot 文件夹下(并不那么令人惊讶),其余的放在 approot 下。 现在一切都应该在同一个文件夹中。
  2. 我的发布版本不想工作。 我必须使用调试文件夹的内容。 我不知道为什么。

而现在,一切正常。

请单击 Views 文件夹中的 .cshtml 文件并在 Visual Studio 的右下面板中设置 build action=Content。 我的问题已经解决了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM