Asp.net-Core
.NET Core - 自包含部署不起作用
我有一個 .NET Core Web 應用程序。我正在使用發布命令來創建一個自包含的部署。
它創建文件並似乎創建了 .net core dll,但是當在 Windows 10 上的 IIS 中執行時,我仍然需要安裝.NET Core Runtime才能使其工作。安裝 .NET Core Hosting 捆綁包後,它工作正常。
在詢問之前我已經查看了很多其他文章,但找不到答案。
預設情況下,IIS 給出以下錯誤:
HTTP ERROR 500.19 – 內部伺服器錯誤
我的發布命令:
dotnet publish "mydirectory\mywebsite.csproj" --self-contained --framework netcoreapp2.1 -r win10-x64 -c Releasecsproj 看起來像這樣:
<PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> <UserSecretsId>aspnet-mywebsite-656GASF8-B9H4-5963-1038-5D735B609E15</UserSecretsId> <RuntimeIdentifiers>win10-x64</RuntimeIdentifiers> </PropertyGroup>這是已發布的文件。
我想也許“l1-1-0”部分可能是錯誤的框架版本,但我的 dotnet 版本是 2.1.500。
請問我需要做什麼才能讓它工作?
Lex Li 的評論/部落格文章包含了答案。我在這裡詳細介紹它,以試圖挽救其他人因這個簡單的誤解而失去幾天。
自包含部署確實包括執行時,但它不包括
ASP.NET Core module for IIS您Runtime & Hosting Bundle從.net 下載頁面下載時獲得的。
Runtime & Hosting Bundle因此,如果您要部署到 IIS,即使是自包含部署,您也需要執行安裝程序。自包含部署僅意味著應用程序將使用與應用程序一起打包的 .NET Core 執行時,而不是機器上安裝的任何內容。

