尝试在visual studio中生成angular 7应用程序,并收到有关tsconfig.json库版本的异常。
下面是当前的tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
]
}
}
生成错误
Severity Code Description Project File Line Suppression State
Error Build:Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string' DocumentLibraryWeb C:\Users\Tim\Source\Repos\project-sparkle\Athena\DocumentLibraryWeb\tsc
发布于 2019-05-14 08:27:10
调试
Severity Code Description Project File Line Suppression State
Error Build:Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string' DocumentLibraryWeb C:\Users\Tim\Source\Repos\project-sparkle\Athena\DocumentLibraryWeb\tsc
此列表中未提及es2018。但是,它在当前TypeScript中是一个有效的选项。
修复
visual studio使用的TypeScript版本显然是错误的版本。
最快的修复,保证有效,将是做一个vs重新安装/项目重新初始化。
发布于 2019-05-14 09:23:38
我设法通过禁用visual studio typescript编译器来编译它。要禁用以下功能,请执行以下操作:
将true属性添加到您的csproj文件中的PropertyGroup (我将其添加到Configuration标签下)。这应该会禁用所有基于msbuild的TS编译。
启用此设置后,您应该不需要tsconfig.json设置编译保存时/构建保存时。
如果您使用的是较旧版本的Visual Studio (我曾隐含地想到VS 2017或2015年的xproj ),则该属性可能为false。
https://stackoverflow.com/questions/56121075
复制相似问题