继续让“ tsc.exe”以代码1退出


73

将tsconfig.json文件添加到Visual Studio 2015 Web解决方案后,立即出现上述错误。

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

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

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

Answers:


133

安装以下2个NuGet软件包:

Microsoft.TypeScript.MSBuildMicrosoft.TypeScript.Compiler

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


2
您在经过stackoverflow的漫长旅程之后救了我
Daniel Hardt

13
不要为我工作,我仍然会得到相同的确切错误
Frawel

11
谢谢。要使Visual Studio和TypeScript彼此之间很好地玩耍,要比实际困难得多!
JMK

15
安装“ Microsoft.TypeScript.MSBuild”后,出现此错误:“ VsTsc”任务不支持“ OutputLogFile”参数。验证参数是否在任务上存在,并且它是可设置的公共实例属性。无法使用其输入参数初始化“ VsTsc”任务。第二个软件包的安装无济于事。
ahmadalibaloch '16

4
通过TypeScript 2.0.6 for 2015从Visual Studio菜单安装即可解决问题Tools->Extensions and Updates
ahmadalibaloch,2016年

60

对我来说,安装TypeScript for Visual Studio可以解决该问题,尽管TypeScript已通过以下方式全局安装在我的计算机上npm


2
我还需要安装这个和其他答案中提到的2个nuget软件包,以使VS2015满意。
bob

这对我有用。直到我安装了VS的最新版本的TS,其他更改才有用。
user1751825年

是的,获得最新的打字稿的VS 2015年(2.2.2.0现在)解决了这个问题对我来说也是
Serj萨根

45

我正在使用.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引发的实际错误。


2
+1将详细程度更改为详细之后,我找到了消息TS6046:Build:Argument for '--module' option must be 'commonjs', 'amd', 'system', 'umd', or 'es6'。右键单击该项目,然后选择Properties > TypeScript Build并更改为CommonJSunder Module System,所有内容再次开始工作。
rsbarro

3
感谢您介绍如何诊断问题。海事组织,这应该是公认的答案。
大卫,

1
@David,我同意。据看起来,一切都可能是code 1
Shockwaver

我也同意。这导致我出现错误“未知的编译器选项” listemittedfiles”和一个SO修复程序。
资源

4

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

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

PS:我认为问题是由于使用了较旧的编译器中不存在的某些选项所致。


4

这个工作对构建的TeamCity服务器与Visual Studio 2015年时,我已经升级,从打字稿的一个项目1.8,以2.3

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

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

注意

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

3

我遇到了同样的问题,我的情况是文件.ts在项目中,但不在文件系统中。像这样的东西文件系统上缺少文件。因此从项目中删除了文件,一切又开始正常工作。


这也是我的解决方案。以我为例,使用TypeScript的同事经常更改某些文件,并导致在项目文件中保留对* .ts文件的引用。对于那些发现错误并在此处发现自己但未在他们的项目中使用TypeScript的人来说,这应该是正确的答案。
Pflugs

1

安装Microsoft.Typescript.MsBuild为我解决了此问题,但前提是我安装了倒数第二个版本。当前(稳定)的版本是2.0.6,在我安装它之后,问题仍然存在。当我恢复到1.8.11时,问题就消失了。


1

我遇到过同样的问题。通过从项目文件中删除以下内容进行修复

<TypeScriptToolsVersion>2.0</TypeScriptToolsVersion>

我同样地修复了我的问题...编辑了.csproj文件,但将TypeScript的版本更改为1.8(这是我安装的版本)。它需要与您在计算机上安装的内容匹配。
托尼

1

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


0

双击.tsVisual Studio内部的文件之一对我有用。然后出现一个对话框,询问我是否要将项目更新为TS的最新版本。之后,项目运行良好,并且编译错误消失了。


0

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

由于我遇到相同的问题,并且在安装Typescript之后再次得到解决,因为(C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript \ 2.1)中缺少tsc.exe


0

我们使用npmangular-cliVS外面transpile我们的打字稿。我在加载了Web Essentials扩展的唯一dev框上遇到了上述问题。尝试安装并卸载上述MS nuget和TypeScript扩展无济于事后,卸载Web Essentials终于成功了。


0

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


0

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


0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.