You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio生成项目报错MSB4018:CreateAppHost任务意外失败

问题描述

每次生成.NET项目时都会抛出如下错误:

1>C:\Program Files\dotnet\sdk\3.1.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets(424,5): error MSB4018: The "CreateAppHost" task failed unexpectedly.
1>C:\Program Files\dotnet\sdk\3.1.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets(424,5): error MSB4018: Microsoft.NET.HostModel.HResultException: 80070002
1>C:\Program Files\dotnet\sdk\3.1.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets(424,5): error MSB4018:    at Microsoft.NET.HostModel.ResourceUpdater.AddResourcesFromPEImage(String peFile)
1>C:\Program Files\dotnet\sdk\3.1.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets(424,5): error MSB4018:    at Microsoft.NET.HostModel.AppHost.HostWriter.<>c__DisplayClass2_0.<CreateAppHost>g__UpdateResources|1()
1>C:\Program Files\dotnet\sdk\3.1.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets(424,5): error MSB4018:    at Microsoft.NET.HostModel.RetryUtil.RetryOnWin32Error(Action func)
1>C:\Program Files\dotnet\sdk\3.1.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets(424,5): error MSB4018:    at Microsoft.NET.HostModel.AppHost.HostWriter.CreateAppHost(String appHostSourceFilePath, String appHostDestinationFilePath, String appBinaryFilePath, Boolean windowsGraphicalUserInterface, String assemblyToCopyResorcesFrom)
1>C:\Program Files\dotnet\sdk\3.1.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets(424,5): error MSB4018:    at Microsoft.NET.Build.Tasks.CreateAppHost.ExecuteCore()
1>C:\Program Files\dotnet\sdk\3.1.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets(424,5): error MSB4018:    at Microsoft.NET.Build.Tasks.TaskBase.Execute()
1>C:\Program Files\dotnet\sdk\3.1.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets(424,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
1>C:\Program Files\dotnet\sdk\3.1.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets(424,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()

已尝试无效方案

  • 以管理员身份运行Visual Studio
  • 删除项目的obj和bin文件夹
  • 新建项目后复制原项目的所有源代码

仅关闭杀毒软件可临时解决问题,但不符合使用安全要求。

可行解决方案
  • 添加杀毒软件排除项:将以下三类路径加入本地杀毒软件的扫描排除列表,既保留杀毒防护能力,又不会拦截编译操作:
    • 所有开发项目的根目录,尤其是各项目下的bin、obj文件夹
    • .NET SDK安装目录,默认路径为C:\Program Files\dotnet\sdk\
    • Visual Studio安装目录,默认路径为C:\Program Files\Microsoft Visual Studio\
      如果是企业域管控的杀毒软件,可联系IT运维将上述路径加入集团白名单策略。
  • 项目配置跳过AppHost生成:如果开发阶段不需要生成独立的exe启动文件,可编辑对应项目的.csproj文件,在<PropertyGroup>节点下添加配置:
    <UseAppHost>false</UseAppHost>
    
    该配置会直接跳过报错的CreateAppHost任务,程序启动时会依赖系统安装的.NET Runtime运行,适合临时规避问题。
  • 升级.NET SDK版本:当前使用的.NET Core 3.1 SDK已经停止官方支持,升级到.NET 6、.NET 8等仍在支持周期内的LTS版本,旧版本SDK的已知兼容性问题已修复,可大幅降低杀毒软件误报概率。
  • 单独白名单编译输出文件:如果仅需要处理单个项目,可将该项目编译输出的exe文件加入杀毒软件白名单,出现隔离时直接恢复并加白,无需完全关闭杀毒防护。

内容的提问来源于stack exchange,提问作者Salmon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 09:57:02