【问题标题】:ASP.NET Core 1.0 Web.Config IssueASP.NET Core 1.0 Web.Config 问题
【发布时间】:2017-03-14 12:00:56
【问题描述】:

我第一次尝试将 ASP.NET Core 应用程序实现到托管 IIS 服务器。

我相信我可以在 web.config 中生成格式错误的 XML aspNetCore Attribute

<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>

%LAUNCHER_PATH% 是一个占位符。

基于this information 我更改了processPath="dotnet"arguments=".\WebDevX1.dll",但是运行它会产生 502.5 错误。仅使用占位符运行效果很好。据我了解,我需要更改这些占位符才能发布到托管服务器。

无论我是否修改这两个属性中的占位符,web.config aspNetCore Attribute 仍然显示错误

当我从 Visual Studio 本地运行时,web.config 恢复为占位符:

<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%"

ASP.NET Core 1.0.0 安装在本地

我的主机表示他们默认支持 .NET Core。

如果有人对我缺少什么有任何见解,我将不胜感激。

【问题讨论】:

  • 你引用了半年多前的帖子——asp.net核心发生了很大变化。为什么你认为你应该改变默认的web.config?只需发布您的应用程序 - 文件将自动更改。

标签: asp.net-core


【解决方案1】:

您应该将 publish-iis 工具配置为作为发布后脚本运行。该工具取代了 LAUNCHER_PATH 和 LAUNCHER_ARGS。您可以在我关于 running ASP.Net Core applications with IIS 的帖子中找到更多详细信息。

在 project.json 转换为 .csproj 之后,publish-iis 工具被转换为 MSBuild 任务(TransformWebConfig 任务)

【讨论】:

  • 我注意到 Controllers 文件夹丢失了,还有 bundleconfig.json、package.json、program.cs、startup.cs、,我需要修改什么来包含这些文件?跨度>
  • 为什么需要这些?特别是 *.cs 文件?您发布了已编译的应用程序,而不是源代码。
  • 我需要源代码,因为其他人可以更轻松地从该开发站点下载应用程序。
  • 我的另一个问题是,每当我们进行更改时,是否每次都必须发布?不是 FTP 的?
  • 发布意味着收集所有构建输出、依赖项和运行时,并将其放入一个文件夹以使其可运行。如果您更改代码,则需要重新构建应用程序,这会导致更改输出,所以是的 - 您需要重新发布。然后你只需将发布的应用程序复制到目标服务器。
猜你喜欢
  • 2017-01-27
  • 2016-11-19
  • 2016-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-24
  • 2011-04-23
相关资源
最近更新 更多