我有一个ASP。NET核心项目,我得到这个错误时,我试图构建它:

error TS18003: Build:No inputs were found in config file 'Z:/Projects/client/ZV/src/ZV/Scripts/tsconfig.json'. Specified 'include' paths were '["**/*"]' and 'exclude' paths were '["../wwwroot/app","node_modules/*"]'.
1>         The command exited with code 1.
1>       Done executing task "VsTsc" -- FAILED.

这是我的tsconfig。json文件:

{
  "compileOnSave": true,
  "compilerOptions": {
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [ "es5", "dom" ],
    "module": "commonjs",
    "moduleResolution": "node",
    "noEmitOnError": true,
    "noImplicitAny": false,
    "outDir": "../wwwroot/app/",
    "removeComments": false,
    "sourceMap": true,
    "target": "es6"
  },
  "exclude": [
    "../wwwroot/app",
    "node_modules/*"
  ]
}

这是bug还是我做错了什么?我最近把Visual Studio 2015升级到3。有人以前遇到过这种情况吗?


当前回答

我的解决方案中有4个现有项目的现有tsconfig文件。升级到vs2017后,我遇到了这个问题。正如NicoJuicy所描述的那样,通过向文件添加包含和排除部分(假设是默认的)来修复。

其他回答

你需要有两个文件夹,一个用于源代码(typescript),另一个用于输出(javascript)。

tsconfig.json:

{
  "compilerOptions": {
...
    "outDir": "out/", 
    "rootDir": "src/", 
...

我把所有的.ts文件都放在src文件夹中,它是tsconfig.json的兄弟文件夹。当我的include看起来像这样时,我得到了这个错误(它之前是工作的,一些依赖升级导致错误显示):

"include": [
    "src/**/*"
],

改成这样就解决了我的问题:

"include": [
    "**/*"
],

这可能是因为typescript服务器无法找到包含数组所描述的任何文件:

// tsconfig.json
{
  //...
  "include": [
    "./src/"
  ],
}

如果你正在使用VSCode,你可以在编辑器中超级容易地重新启动TS服务器,提示它像这样重新评估文件:

导航到任何.ts或.tsx文件 打开命令面板(CMD + SHIFT + P在mac上) 执行TypeScript: Restart TS server命令:

我用了这个 如何在。net核心项目中禁用TypeScript编译?

因为我使用模板,而那些包只需要我的模板。 然而,我可以在它们的node_module文件中看到每个包的导出。 如果你有同样的情况,你可以使用上面的链接

根据这篇文章,如果你不想编译TypeScript,在你的.csproj文件中禁用它。

只需在你的.csproj文件中添加以下一行:

<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>