【发布时间】:2021-05-05 02:01:21
【问题描述】:
我有一个 ASP .NET Core 3.1 应用程序,它使用 IHostBuilder.UseWindowsService 调用作为 Windows 服务托管。我正在使用 Visual Studio Installer Projects Extensions 准备安装项目。该项目被创建为 Web 安装项目类型,因此安装程序对话框已经呈现给用户选择的网页和 IIS 上的应用程序池。
我面临的问题是程序集已成功安装在 IIS 上的给定文件夹中,但未安装 ApplicationService.deps.json。如果没有此文件,应用程序将无法成功启动。据我检查,该文件是在bin\x64\Release\netcoreapp3.1\ 中作为构建的一部分创建的,但显然不包含在安装项目中。
我还通过指定我在手动尝试从 Visual Studio 发布到 IIS 时生成的配置文件来使用安装项目的属性 PublishProfilePath:
但是,这会产生更奇怪的结果。当我构建安装项目时,应用程序已经部署到 IIS!然后在检查新创建的msi时,它的大小真的很小,实际上并没有安装任何东西(虽然成功完成)。
任何帮助将不胜感激。
【问题讨论】:
-
您是如何安装 ASP .NET Core 服务的?您可以再试一次,看看是否遇到同样的问题。
-
我使用由 setup 项目的输出创建的 msi 安装它(使用 Visual Studio Installer Projects 扩展创建)。但似乎 msi 默认情况下不与 ApplicationService.deps.json 文件捆绑在一起,也没有选项可以更改此行为。
标签: c# asp.net-core iis