异常:AspNetCoreModule不支持进程中托管.将AspNetCoreModule更改为至少AspNetCore



我正试图通过visualstudio将asp.net核心2.1应用程序发布到azure应用程序服务,但出现以下异常。如何解决此问题?

C:Program Filesdotnetsdk2.2.108SdksMicrosoft.NET.Sdk.Publishbuildnetstandard1.0TransformTargetsMicrosoft.NET.Sdk.Publish.TransformFiles.targets(49,5): 
Error MSB4018: The "TransformWebConfig" task failed unexpectedly.
System.Exception: In process hosting is not supported for AspNetCoreModule. Change the AspNetCoreModule to atleast AspNetCoreModuleV2.
at Microsoft.NET.Sdk.Publish.Tasks.WebConfigTransform.TransformAspNetCore(XElement aspNetCoreElement, String appName, Boolean configureForAzure, Boolean useAppHost, String extension, String aspNetCoreModuleName, String aspNetCoreHostingModel)
at Microsoft.NET.Sdk.Publish.Tasks.WebConfigTransform.Transform(XDocument webConfig, String appName, Boolean configureForAzure, Boolean useAppHost, String extension, String aspNetCoreModuleName, String aspNetCoreHostingModel, String environmentName)
at Microsoft.NET.Sdk.Publish.Tasks.TransformWebConfig.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext()

解决方案:

.csproj中删除<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>解决了我的问题。

将此行添加到web.config:

<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>

或者在.csproj文件中添加此属性。

<AspNetCoreModuleName>AspNetCoreModuleV2</AspNetCoreModuleName>

更新

.csproj中删除<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>解决了我的问题。

为了消除此错误,我在csproj文件中将IsTransformWebConfigDisabled属性设置为true,从而禁用了web配置转换。无论如何,在macOS上使用Kestrel时,web.config文件是无用的,不确定构建系统最初为什么试图在macOS中转换不存在的web.config文件。

<PropertyGroup>
<IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled>
</PropertyGroup>

相关内容

  • 没有找到相关文章

最新更新