我正在 ASP.NET Core 3(预览版5)项目中使用TypeScript,最新的VS 2019 16.1.1(tsc:3.4)
当我使用"全部重建"或触摸任何C#文件或触摸tsconfig.json时,我所有的TypeScript文件都可以很好地编译。
但是,当我修改任何.ts文件时,保存然后"构建" VS 2019说所有内容都是最新的,并且什么也不做。
到目前为止我尝试过:
- 我更改了
compileOnSave
和compilerOptions
的顺序,没关系 - 我试图设置
compileOnSave
true
或false
它没有帮助。顺便说一句,compileOnSave
true
什么也没做,我不在乎,太多(我不是贪得无厌,对我来说在构建上编译就足够了:-),但可能具有诊断价值。
tsconfig.json:
"compileOnSave": false, // does not matter if true or false
"compilerOptions": {
"module": "none",
"noImplicitAny": true,
"noEmitOnError": true,
"sourceMap": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"target": "es2015",
"lib": [
"es2015",
"es5",
"dom"
],
"outDir": "wwwroot/js/gen-ts",
"typeRoots": [
"./wwwroot/lib/@types"
]
},
"include": [
"./Scripts"
]
- 关闭Visual Studio
- 查找您的项目名称.csproj 文件
- 打开您的项目名称.csproj 任何文本编辑器
- 更改节点
<None Include="tsconfig.json" /> TO <Content Include="tsconfig.json" />
希望这有帮助。
感谢您分享您的项目。我这边重现了类似的问题。
以下是可能会有所帮助的建议:
1.将 .ts 文件从"常用"文件夹移动到"脚本"文件夹,因为 tsconfig.json 的内容是:
"include": [
"./Scripts"
2.Go=>Tools=>Options=>Projects and Solutions=>.net core=>最新检查=>>确保我们已检查Don't call msbuild if a project appears to be up-to-date
。
3.删除 bin 和 obj 文件夹并重新生成解决方案。
(不确定上面的哪些步骤真正有帮助,尽管在某些方面我已经解决了这个问题,但由于我做了太多的更改和测试,我无法弄清楚真正有效的方法)
4.之后,构建输出将在大部分时间显示successful build
,尽管我们不会进行更改。
但我认为它只显示成功构建消息(它实际上不会构建这些文件):
1.如果我更改 xx.ts,只会重新生成 xx.js。(您可以比较.js文件的修改时间)
2.如果我对 xx.cs 文件进行一些更改,只会重新生成.dll和一些文件,而不会重新生成 xx.js 文件。
我认为现在构建行为实际上大部分是正常的,除了它错误的构建输出可能会误导我们。对于此方面,您可以通过"帮助"菜单=>发送反馈=>报告问题来报告此问题。
希望我没有误解什么:(如果我的答案有问题,请随时纠正我。