簡體   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