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

VS2022新建ASP.NET Web API项目编译报错MSB4036:找不到FormatLocalizedString任务

ASP.NET Web API项目编译时出现MSB4036错误:找不到“FormatLocalizedString”任务

在Visual Studio 2022中创建新的ASP.NET Web API项目,首次编译默认项目时触发如下MSB4036错误:

严重级别 代码 描述 项目 文件 行 抑制状态
错误 MSB4036 找不到“FormatLocalizedString”任务。请检查以下内容:1.) 项目文件中的任务名称与任务类名称是否一致。2.) 任务类是否为“公共”类并实现Microsoft.Build.Framework.ITask接口。3.) 任务是否在项目文件中正确声明,或者在“C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\amd64”目录下的*.tasks文件中正确声明。WebApplication5 C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Microsoft\VisualStudio\v17.0\TypeScript\Microsoft.TypeScript.targets 69

错误指向C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Microsoft\VisualStudio\v17.0\TypeScript\Microsoft.TypeScript.targets文件,相关代码片段:

<!-- At least one SDK must be installed for FormatLocalizedString to exist, and if no SDKs are installed, there's nothing to report -->
<Target Name="ReportTypeScriptVersion" BeforeTargets="Build" Condition="$(LastKnownTypeScriptVersion) != ''">
  <FormatLocalizedString Condition="'$(TypeScriptVersionCheckResult)' == 'NoneSpecified'"
    Culture="$(PreferredUILang)"
    Name="TypeScriptNoVersionWarning"
    Arguments="$(LastKnownTypeScriptVersion)">
    <Output TaskParameter="String" PropertyName="TypeScriptNoVersionWarning" />
  </FormatLocalizedString>

  <FormatLocalizedString Condition="'$(TypeScriptVersionCheckResult)' == 'Downgrade' OR '$(TypeScriptVersionCheckResult)' == 'Upgrade'"
    Culture="$(PreferredUILang)"
    Name="TypeScriptVersionMismatchWarning"
    Arguments="$(TypeScriptToolsVersion);$(LastKnownTypeScriptVersion)">
    <Output TaskParameter="String" PropertyName="TypeScriptVersionMismatchWarning" />
  </FormatLocalizedString>

  <PropertyGroup>
    <!-- Don't emit any warnings about TS version if TypeScriptCompileBlocked is set or if there is nothing to compile -->
    <TypeScriptShowVersionWarning Condition="'$(TypeScriptShowVersionWarning)' == '' AND '$(TypeScriptCompileBlocked)' != 'true' AND ('@(ConfigFiles)' != '' OR '@(TypeScriptCompile)' != '')">true</TypeScriptShowVersionWarning>
  </PropertyGroup>

  <Warning Condition="'$(TypeScriptShowVersionWarning)' == 'true' AND '$(TypeScriptVersionCheckResult)' == 'NoneSpecified'" Text="$(TypeScriptNoVersionWarning)" />
  <Warning Condition="'$(TypeScriptShowVersionWarning)' == 'true' AND ('$(TypeScriptVersionCheckResult)' == 'Downgrade' OR '$(TypeScriptVersionCheckResult)' == 'Upgrade')" Text="$(TypeScriptVersionMismatchWarning)" />
  <Warning Condition="'$(TypeScriptBuildMode)' == 'true' AND ($(TypeScriptToolsVersion.StartsWith('2.')) OR $(TypeScriptToolsVersion.StartsWith('1.')))" Text="TypeScriptBuildMode requires TypeScriptToolsVersion 3.0 or higher" />
</Target>

项目文件内容:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
  </ItemGroup>

</Project>

解决方法

方法1:禁用TypeScript版本检查

在项目文件的<PropertyGroup>节点中添加以下配置,跳过TypeScript版本相关的编译任务:

<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
<TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>

修改后的项目文件:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
    <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
    <TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
  </ItemGroup>

</Project>

方法2:修复Visual Studio的TypeScript组件

  • 打开Visual Studio Installer,选择“修改”当前安装的Visual Studio 2022版本。
  • 在“工作负载”中找到“ASP.NET和Web开发”,确认右侧“可选组件”列表里的“TypeScript SDK”已勾选。
  • 点击“修改”按钮,完成组件的安装或修复。

方法3:手动指定TypeScript工具版本

如果项目需要使用TypeScript,可在项目文件中明确指定兼容的TypeScript版本,例如:

<TypeScriptToolsVersion>4.9.5</TypeScriptToolsVersion>

同时确保对应版本的TypeScript SDK已通过Visual Studio Installer安装。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 12:13:18