【发布时间】:2020-11-25 04:24:41
【问题描述】:
在Microsoft docs 之后,我使用 VS 2019 发布了一个 Asp Net Core 应用程序。 按照Microsoft docs 在 IIS 上部署应用程序。 我为我的项目安装了正确的 ASP.NET Core 模块和运行时 (3.1)。 导航到应用程序的主页(任何)页面时,我收到“无法访问此站点”响应页面。这不是来自我的 VPS 上的 IIS 的错误页面,它似乎是来自浏览器的默认页面/消息。 我的 VPS 上没有来自 IIS 事件的错误消息。
据我了解,Windows Process Activation Service (WAS) 没有启动应用程序,尽管应用程序池显示分配给它的 1 个应用程序。
所以使用 web.config,我将日志记录设置为 true。
<aspNetCore processPath=".\IS4.exe" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess">
然后我进入 VPS 上项目的物理目录,右键单击 IS4.exe 并以管理员身份运行。这导致了一个被记录的错误。
所以我的应用程序 program.cs 被传递一个空字符串而不是一个 URI。但它使用的是我的开发笔记本电脑的路径;不是生产机器上 web.config 环境变量中设置的路径。
项目中根本没有硬编码的 URL/URI。所有需要 URL / URI 的变量都在 appsettings.json 和环境变量中设置。 EG:配置["AppURLS:IS4BaseUrl"]
那么为什么日志文件的第 12 行和第 15 行没有说:
blah blah blah ...................在 C:\inetpub\IS4\Program.cs:81 行
和
在 C:\inetpub\IS4\Program.cs:第 58 行中的 IS4.Program.Main(String[] args) 处
我没有找到一个好的谷歌搜索词或短语来引导我找到答案,所以我想在这里问。 为什么 program.cs 会注销我的开发环境的项目目录,而不是我试图部署它的服务器的目录。我认为这是我的部署问题的根源,或者至少是一个起点。
有人有什么想法吗?谢谢
【问题讨论】:
标签: .net-core deployment publish