繁体   English   中英

使用 Visual Studio 安装程序项目将 ASP .NET 核心服务安装到 IIS

[英]Installing ASP .NET Core service to IIS using Visual Studio Installer Projects

我有一个 ASP .NET Core 3.1 应用程序,它使用IHostBuilder.UseWindowsService调用作为 windows 服务托管。 我正在使用 Visual Studio Installer Projects Extensions 准备安装项目。 该项目创建为 Web 安装项目类型,因此安装程序对话框已经呈现给用户选择 web 页面和 IIS 上的应用程序池。

我面临的问题是程序集已成功安装在 IIS 的给定文件夹中,但未安装ApplicationService.deps.json 如果没有此文件,应用程序将无法成功启动。 据我检查,该文件是作为bin\x64\Release\netcoreapp3.1\构建的一部分创建的,但显然不包含在安装项目中。

通过指定手动尝试从 Visual Studio 发布到 IIS 时生成的配置文件,我还使用了安装项目的属性PublishProfilePath

在此处输入图像描述

然而,这会产生更奇怪的结果。 当我构建安装项目时,应用程序已经部署到 IIS,然后检查新创建的 msi。 它的尺寸非常小,实际上没有安装任何东西(虽然成功完成)。

任何帮助将不胜感激。

我设法解决了这个问题,但我不确定这是否是最佳解决方案。 在设置项目中,您可以将单个文件作为 output 的一部分包括在内。 如果我添加ApplicationService.deps.json它在安装项目本身中标有相对路径。 这意味着一旦安装项目正在构建,ApplicationService 项目无论如何都会首先构建,因为它是安装项目的主要 output。 此时“ApplicationService.deps.json”出现在 Release 文件夹中。 然后在创建 msi 时,它作为 output 的一部分包含在内。

它可以工作,但我希望安装项目自动包含该文件。

暂无
暂无

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

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