【发布时间】:2021-08-19 14:03:31
【问题描述】:
我们有一个 .net core 2.2 应用程序,已升级到 .net 5.0。更新了对 csproj 文件和 nuget 包的所有必要更改,并删除了其他不必要的包。我们可以使用 VS 运行,也可以手动发布。
但是,当使用高级安装程序、IIS 配置和安装程序移动的文件部署网站时,我们会在启动时收到 500.31 http 错误,并且网站正在寻找 Microsoft.Data.SqlClient.SNI.runtime强>包。请注意,当我们尝试在不更改 IIS 配置的情况下手动将同一文件夹中的工件粘贴到同一目录中时,应用程序工作正常。
这真的让我很难过,因为能够手动粘贴到文件夹中并运行应用程序消除了构建和 IIS 配置作为罪魁祸首。我已经为用户提供了应用程序池运行的完全控制权,该用户可以完全控制应用程序所在的整个目录。
只是为了提供更多信息,应用程序是使用以下语句部署的:
dotnet build %projFile% -p:DeployOnBuild=true -p:PublishProfile=%pubProf% -p:Configuration=Release -v n
提前感谢您的帮助
【问题讨论】:
-
您是否更新了 IIS 端 ASP.NET Core 模块以兼容 .NET 5?您不能将 .NET Core 2.2 版本与 .NET 5 运行时一起使用。一份报告应为您提供有关 IIS 需要进行哪些额外更改的更多信息,docs.jexusmanager.com/tutorials/ancm-diagnostics.html
-
项目正在运行 .net 5.0,因此他们不会寻找任何 .net 2.2。如果我们手动将应用程序工件粘贴到文件夹中,它们就可以正常工作。
-
当我检查 IIS 模块时,新版本的 aspnetcore 模块确实出现了。我们让安装程序在尝试部署任何应用程序之前安装 .net 5.0.8 托管包。
标签: .net iis .net-core upgrade advanced-installer