【问题标题】:Keep getting "tsc.exe" exited with code 1继续使用代码 1 退出“tsc.exe”
【发布时间】:2016-09-17 22:12:21
【问题描述】:

只要我将 tsconfig.json 文件添加到我的 Visual Studio 2015 Web 解决方案中,我就会收到上述错误。

即使我设置了“compileOnSave”:true,这也会阻止编译器重新生成 js 文件。

当我双击错误时,它会将我带到包含许多问题的 Microsoft.Typescript.Targets 文件,例如未知项目组“TypeScriptCompile”。在错误列表中,这些显示为警告,但无论我是否有 tsconfig.json 文件,它们都在那里。

有什么方法可以解决它或获取有关问题所在的更多信息吗?

【问题讨论】:

    标签: javascript typescript visual-studio-2015


    【解决方案1】:

    安装这 2 个 NuGet 包:

    Microsoft.TypeScript.MSBuildMicrosoft.TypeScript.Compiler

    它使用 MSBuild 任务定义和 TS 编译器更新您的项目并解决编译问题

    【讨论】:

    • 在通过 stackoverflow 的漫长旅程后,你救了我
    • 不要为我工作,我仍然得到同样的错误
    • 谢谢。让 Visual Studio 和 TypeScript 相互配合比实际应该的要困难得多!
    • 安装“Microsoft.TypeScript.MSBuild”后出现此错误:“VsTsc”任务不支持“OutputLogFile”参数。验证该参数是否存在于任务中,并且它是一个可设置的公共实例属性。 “VsTsc”任务无法使用其输入参数初始化。第二个包安装什么都不做。
    • 它通过从 Visual Studio 菜单 Tools->Extensions and Updates 安装 TypeScript 2.0.6 for 2015 解决
    【解决方案2】:

    对我来说,安装 TypeScript for Visual Studio 修复了它,尽管 TypeScript 已经通过 npm 全局安装在我的机器上

    【讨论】:

    • 我需要安装这个和其他答案中提到的 2 个 nuget 包,以使 VS2015 快乐。
    • 这对我有用。在我为 VS 安装最新版本的 TS 之前,其他更改都没有帮助。
    • 是的,获取最新的 VS 2015 Typescript(现在是 2.2.2.0)也为我解决了这个问题
    【解决方案3】:

    我正在使用 .NET Core 1.0 项目并遇到了相同的情况,即获得 tsc.exe 返回码 1。我的问题是无效的 tsconfig.json。但是,msbuild 不提供这些详细信息。

    最简单的查找方法是在Visual Studio -> Tools -> Options -> Projects and Solutions -> Build and Run -> MSBuild project build output verbosity 中启用详细输出。将此更改为Detailed。编译后,在输出窗口中找到tsc.exe,可以看到tsc实际抛出的错误。

    【讨论】:

    • +1 将详细程度更改为详细信息后,我找到了消息TS6046:Build:Argument for '--module' option must be 'commonjs', 'amd', 'system', 'umd', or 'es6'。右键单击该项目并选择Properties > TypeScript Build 并在Module System 下更改为CommonJS,一切又开始工作了。
    • 感谢您描述如何诊断问题。 IMO 这应该是公认的答案。
    • @David 我同意。看起来,任何东西都可以是code 1
    • 我也同意。这导致我出错'未知编译器选项'listemittedfiles''和一个SO修复。
    【解决方案4】:

    在使用了一些标准的 Angular / Typescript 教程后,我也遇到了这个问题。解决方案就像在 Visual Studio 中更新 typescript 一样简单。

    由于某种原因,默认值现在是 1.8.4。它不允许您从 Visual Studio Extensions 自动更新它,也没有说它已过时。您只需从here 下载它并自己安装最新版本。当然,下载链接将来可能会改变。

    附:我认为问题是由于使用了旧编译器中不存在的一些选项。

    【讨论】:

      【解决方案5】:

      当我将项目从 Typescript 1.8 升级到 2.3 时,这适用于使用 Visual Studio 2015 的 TeamCity 构建服务器

      • 安装包Microsoft.TypeScript.MSBuild
      • 更新*.csproj如下

        1. TypeScriptToolsVersion 升级为2.3(在这种情况下)
        2. 删除Import Project中提到的两行 Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets

      注意

      • 删除 import 元素很重要,因为它们指的是安装在 %PROGRAMFILES(X86)% 文件夹中的 TypeScript。
      • 安装包会添加引用 packages 文件夹的 import 元素 - 使您的构建更便携

      【讨论】:

        【解决方案6】:

        我有同样的问题,在我的情况下发生的事情是文件 .ts 在项目中,但它不在文件系统上。像这样。所以从项目中删除了文件,一切又开始工作了。

        【讨论】:

        • 这也是我的解决方案。就我而言,一位使用 TypeScript 的同事经常对某些文件进行更改,并导致对 *.ts 文件的引用留在项目文件中。对于那些在谷歌上搜索错误并发现自己在这里但没有在他们的项目中使用 TypeScript 的人来说,这应该是正确的答案。
        【解决方案7】:

        C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Typ‌​escript 中的所有文件移动到某个新文件夹(例如backup),然后重试。这将导致 MSBuild 从适当版本的文件夹中选择 tsc.exe,而不是使用 C:\Program Files (x86)\Microsoft SDKs\TypeScript 中的文件夹。

        【讨论】:

          【解决方案8】:

          安装 Microsoft.Typescript.MsBuild 为我解决了这个问题,但前提是我安装了倒数第二个版本。当前(稳定)版本是 2.0.6,安装后问题依旧。当我恢复到 1.8.11 时,问题就消失了。

          【讨论】:

            【解决方案9】:

            我有同样的问题。通过从项目文件中删除以下内容来修复它

            <TypeScriptToolsVersion>2.0</TypeScriptToolsVersion>
            

            【讨论】:

            • 我同样修复了我的...编辑了 .csproj 文件,但将 TypeScript 的版本更改为 1.8(这是我安装的)。它需要与您机器上安装的内容相匹配。
            【解决方案10】:

            双击 Visual Studio 中的 .ts 文件之一对我有用。然后它出现了一个对话框,询问我是否要将项目更新到最新版本的 TS。之后项目构建良好,编译错误消失了。

            【讨论】:

              【解决方案11】:

              您的系统需要重新安装/升级,Typescript。

              因为我遇到了同样的问题,并且在再次安装 Typescript 后解决了错误,因为 tsc.exe 丢失 在 (C:\Program Files (x86)\Microsoft SDKs\TypeScript\2.1) .

              【讨论】:

                【解决方案12】:

                我们在 VS 外部使用 npmangular-cli 来转换我们的打字稿。我在唯一加载了 Web Essentials 扩展的开发盒上遇到了上述问题。在尝试安装,然后卸载上述 MS nugets 和 TypeScript 扩展无济于事后,卸载 Web Essentials 终于成功了。

                【讨论】:

                  【解决方案13】:

                  我遇到了同样的问题,原因是 2 位开发人员正在开发同一个项目,所以当他将新的 .ts 文件添加到项目和一些角度控制器时。该项目正在按预期重建和运行,但是当另一位开发人员试图在他的机器上获取最新的源代码并在重建时,他得到了相同的错误“tsc.exe”退出代码 1。 所以原因是在源代码管理中创建/添加的文件没有显示添加 开发人员 2 解决方案。请尝试检查所有 .ts、.js 文件是否在两个开发人员解决方案上都是最新的。

                  【讨论】:

                    【解决方案14】:

                    我在使用 AngularJS 但没有编译器的解决方案上遇到了同样的问题(低于 2.x,所以不需要)。我只是从脚本文件夹中删除了 index.d.ts 就可以了(不需要 NuGet 包)

                    【讨论】:

                      【解决方案15】:

                      如果您在从 bootstrap 3 更新到 4 时遇到此问题,只需删除在 Scripts 文件夹中创建的 .ts 文件,然后重新构建。

                      【讨论】:

                        猜你喜欢
                        • 2017-02-08
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2016-07-14
                        • 2021-11-03
                        • 1970-01-01
                        相关资源
                        最近更新 更多