Typescript 在VisualStudio和don';不要让建造失败

Typescript 在VisualStudio和don';不要让建造失败,typescript,msbuild,visual-studio-2019,csproj,Typescript,Msbuild,Visual Studio 2019,Csproj,我想检查现有的javascript代码。为此,我指定了以下tsconfig。运行tsc会导致数百个错误,当我进行构建时,这些错误会显示在VisualStudio中。然而,这些错误现在也会使构建失败。由于代码目前正在运行,我想推迟解决这些错误。我希望将错误报告为警告,这样构建将继续,我们可以逐步改进javascript //tsconfig.json { “编译器选项”:{ “noImplicitAny”:错, “noemiton”:没错, “removeComments”:false, “源地图

我想检查现有的javascript代码。为此,我指定了以下tsconfig。运行
tsc
会导致数百个错误,当我进行构建时,这些错误会显示在VisualStudio中。然而,这些错误现在也会使构建失败。由于代码目前正在运行,我想推迟解决这些错误。我希望将错误报告为警告,这样构建将继续,我们可以逐步改进javascript

//tsconfig.json
{
“编译器选项”:{
“noImplicitAny”:错,
“noemiton”:没错,
“removeComments”:false,
“源地图”:正确,
“目标”:“es5”,
“checkJs”:正确,
“allowJs”:正确,
“noEmit”:对
}
}
//csproj(缩写)
3.6
...
msbuild输出示例:

...
file.js:153:33 - error TS2769: No overload matches this call.
========== Build: 14 succeeded, 1 failed, 23 up-to-date, 0 skipped ==========

据我回忆,msbuild的
exec
命令在输出中搜索单词
error
,如果找到,将发出生成错误

这个linter*.targets文件似乎正在执行此操作。 这里似乎证实了这一点:

但是真的:
如果您想推迟修复这些错误,我认为别无选择,只能完全从*.csproj文件中删除您的linter。我的意思是,为什么只为了忽略它而拖延你的技术债务


在这种情况下,我只需将您共享的代码从.csproj文件中取出,放入一个单独的、独立的msbuild文件中并单独运行即可。

我认为msbuild会监视输出中的“错误”一词。执行此操作时,它会标记错误。这些错误由msbuild编译识别,您不能忽略它们并将其转换为警告。或者您可以尝试重写或禁用msbuild生成工具的错误检测任务。我使用的是Visual Studio提供的生成目标,因此我的
csproj
中没有
Exec
。编译由名为
的元素处理。我不完全确定该元素在何处/如何实现。关于“我的意思是,为什么只为了忽略它和延迟您的技术债务而加入linter?”。简单地;使用我们的构建统计数据等,让团队能够看到技术债务。调用是通过我在导入定义中挖掘的目标文件传入的;事实证明,对编译器的调用是通过任务(
$(MSBuildThisFileDirectory)TypeScript.Tasks.dll
处理的,另请参阅。