【发布时间】:2019-12-03 09:21:22
【问题描述】:
我想对现有的 javascript 代码进行类型检查。为此,我指定了以下 tsconfig。运行tsc 会导致数百个错误,这些错误会在我进行构建时出现在 Visual Studio 中。但是,这些错误现在也使构建失败。由于代码当前正在运行,我想推迟解决这些错误。我希望将错误报告为警告,这样构建将继续,我们可以逐步改进 javascript。
// tsconfig.json
{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5",
"checkJs": true,
"allowJs": true,
"noEmit": true
}
}
//csproj (abbreviated)
<Project>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />
<PropertyGroup>
<TypeScriptToolsVersion>3.6</TypeScriptToolsVersion>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />
</Project>
...
示例 msbuild 输出:
...
file.js:153:33 - error TS2769: No overload matches this call.
========== Build: 14 succeeded, 1 failed, 23 up-to-date, 0 skipped ==========
【问题讨论】:
-
我认为 msbuild 会监视输出中的“错误”一词。当它发生时,它会标记一个错误。
-
这些错误是由msbuild编译识别出来的,你不能忽略它们,把它们变成警告。或者您可以尝试重写或禁用 msbuild 构建工具的错误检测任务。
标签: typescript msbuild visual-studio-2019 csproj