【问题标题】:The "TransformWebConfig" task failed unexpectedly - System.Exception: The acceptable value for AspNetCoreModuleHostingModel property is either“TransformWebConfig”任务意外失败 - System.Exception: AspNetCoreModuleHostingModel 属性的可接受值是
【发布时间】:2022-01-11 03:01:26
【问题描述】:

我明白了

'“TransformWebConfig”任务意外失败。 System.Exception:AspNetCoreModuleHostingModel 属性的可接受值为“InProcess”或“OutOfProcess”。'

为 win-x64 环境发布 ASP.NET Core 2.2.0 应用程序(实际上是包含的示例应用程序)时出错。 Visual Studio 2017 和 2019 都给出了相同的错误。我正在使用 Windows 10。我应该怎么做才能解决这个问题? 发布输出的最后一部分是:

c:\users\engin\source\repos\NetCoreWebApplication2\NetCoreWebApplication2\obj\Release\netcoreapp2.2\win-x64\PubTmp\Out\
C:\Program Files\dotnet\sdk\2.2.200-preview-009648\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\TransformTargets\Microsoft.NET.Sdk.Publish.TransformFiles.targets(49,5): Hata MSB4018: "TransformWebConfig" görevi beklenmedik biçimde başarısız oldu.
System.Exception: The acceptable value for AspNetCoreModuleHostingModel 
 property is either "InProcess" or "OutOfProcess".
   konum: Microsoft.NET.Sdk.Publish.Tasks.WebConfigTransform.TransformAspNetCore(XElement aspNetCoreElement, String appName, Boolean configureForAzure, Boolean useAppHost, String extension, String aspNetCoreModuleName, String aspNetCoreHostingModel)
   konum: Microsoft.NET.Sdk.Publish.Tasks.WebConfigTransform.Transform(XDocument webConfig, String appName, Boolean configureForAzure, Boolean useAppHost, String extension, String aspNetCoreModuleName, String aspNetCoreHostingModel, String environmentName)
   konum: Microsoft.NET.Sdk.Publish.Tasks.TransformWebConfig.Execute()
   konum: Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   konum: Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()

2 Derleme başarısız oldu. Daha fazla ayrıntı için çıktı penceresini denetleyin.
========== Oluşturma: 1 başarılı, 0 başarısız, 0 güncel, 0 atlandı ==========
========== Yayın: 0 başarılı, 1 başarısız, 0 atlandı ==========

【问题讨论】:

  • 向我们展示您的 web.config。
  • 它是空的:
  • 这是一个已知的错误:github.com/aspnet/websdk/issues/437,他们已经修复(即使它没有被标记为这样),但修复可能还没有发布。我建议您切换到 .NET Core SDK 的非预览版(当前稳定版本是 2.2.101)。
  • 谢谢。但是我在 2.2.101 版本上遇到了同样的错误。如何将此修复应用到我的环境?我看到这个错误只发生在土耳其机器上。
  • 只需从我们的项目中删除 Web.Config 文件,这就是导致问题的原因,您并不需要它。

标签: asp.net-core


【解决方案1】:

我建议完全禁用 web.config 转换。在 ASP.Net Core 项目中,您可能不需要转换 web.configs,因为提供环境变量是按照约定使用 appsettings.[Environment].json 文件处理的。

来自https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2 的文档:

要防止 Web SDK 转换 web.config 文件,请使用 .csproj 文件中的 &lt;IsTransformWebConfigDisabled&gt; 属性:

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

【讨论】:

  • 我收到此错误“TransformWebConfig”任务意外失败。尝试为 dotnet core 3.0 构建 docker 映像并将其添加到 .csproj 文件时解决了问题
  • 这解决了我的问题
  • 为我工作,谢谢!!!我更新了 Visual Studio 代码后似乎出现了这个问题......
【解决方案2】:

我遇到了同样的问题并找到了解决方案

csproj文件中,找到以下行并删除。

<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>

【讨论】:

  • 如果您打算在 IIS 上托管,删除此行将影响性能:weblog.west-wind.com/posts/2019/Mar/16/…
  • 它对我有用,我可以知道删除的原因
  • 不应该这样做,除非你不希望它在进程中运行。
  • @Kellad:请将 Barış Bar 的答案标记为 the 答案!
  • 我有同样的问题,我可以知道删除的原因吗?以及它从 QA 到生产的可能影响是什么?
【解决方案3】:

在 .net core 2.2.104 上遇到了同样的问题。将此部分更新为:

&lt;AspNetCoreHostingModelV2&gt;InProcess&lt;/AspNetCoreHostingModelV2&gt;

注意V2添加。

【讨论】:

  • 虽然这似乎可行,但对于 .NET Core 3 可能也必须进行更改。您的 Web.config 文件很可能是使用此处理程序生成的,这会使我认为这是多余的:&lt;handlers&gt;&lt;add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" /&gt;&lt;/handlers&gt;。两者都可以。
  • @Kody 你的答案是正确的! (至少对我来说)
  • AspNetCoreHostingModelV2 没有意义,你可以试试 AspNetCoreHostingModelV100 没问题。只需将其删除即可。
  • @namvo 你让我大开眼界。我实际上认为这个问题已经在 V2 版本中得到修复,但实际上当你更改它的名称时这个属性变得未知。谢谢你。但我仍在寻找答案,删除它会有什么影响?
【解决方案4】:

@Barış Bar 提供的答案有效,但可能会导致将来出现错误。有一个关于大写字母的错误。只需将csproj文件中的InProcess改成小写即可

<AspNetCoreHostingModel>inprocess</AspNetCoreHostingModel>

据说这个bug会在VS 2019修正。

InProcess or OutOfProcess

【讨论】:

  • 这是最好的答案
  • 到目前为止,VS 2019 还没有修复它,而且 Mayk 的解决方案也不起作用。不过,Remco 和 Barış Bar 的解决方案都有效。
  • 我尝试使用小写字母,但使用 VS 2019 的最新 MSBuild (16.6.0.22303) 无法正常工作。我在这里遗漏了什么吗?
【解决方案5】:

只需将此行添加到您的 web.config 文件中

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

【讨论】:

  • 这对我有用。我已经有了这条线,但必须将AspNetCoreModule 更改为AspNetCoreModuleV2。将 .NET Core 3.1 web api 与 web.config 一起用于自定义 HTTP 标头。
【解决方案6】:

我的 .NET Core 2.2 应用程序构建在 Jenkins 上失败,但在本地机器上运行良好。 错误:错误 MSB4018:“TransformWebConfig”任务意外失败。

修复:从 .csproj 文件中删除以下行 &lt;AspNetCoreHostingModel&gt;InProcess&lt;/AspNetCoreHostingModel&gt;

【讨论】:

  • @Raza 删除此属性会有什么影响?
【解决方案7】:

找到项目文件 (.csproj) 并更新此代码 &lt;AspNetCoreHostingModel&gt;OutProcess&lt;/AspNetCoreHostingModel&gt;

到这里

&lt;AspNetCoreHostingModel&gt;InProcess&lt;/AspNetCoreHostingModel&gt;

【讨论】:

    【解决方案8】:

    将它添加到 .csproj 文件对我来说是这样的:

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

    【讨论】:

      猜你喜欢
      • 2021-11-09
      • 2021-12-04
      • 2018-01-02
      • 2017-09-20
      • 2013-05-25
      • 2017-07-23
      • 2016-06-22
      • 2017-07-23
      • 2021-02-20
      相关资源
      最近更新 更多