只要将tsconfig.json文件添加到Visual Studio 2015 Web解决方案中,我就会收到上述错误。
即使我设置" compileOnSave":true,这也会阻止编译器重新生成js文件。
当我双击错误时,它会将我带入Microsoft.Typescript.Targets文件,其中包含许多问题,例如Unknown Item Group" TypeScriptCompile"。在错误列表中,它们显示为警告,但无论我是否有tsconfig.json文件,它们都在那里。
有没有办法解决问题或获得有关问题的更多信息?
答案 0 :(得分:128)
安装这两个NuGet包:
Microsoft.TypeScript.MSBuild 和 Microsoft.TypeScript.Compiler
它使用MSBuild任务定义和TS编译器更新您的项目并解决编译问题
答案 1 :(得分:58)
我安装TypeScript for Visual Studio修复了它,虽然已经通过npm
答案 2 :(得分: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正在抛出的实际错误。
答案 3 :(得分:4)
使用一些标准的Angular / Typescript教程后,我也遇到了这个问题。解决方案就像在Visual Studio中更新typescript一样简单。
由于某种原因,默认值现在为1.8.4。并且它不允许您从Visual Studio Extensions自动更新它,并且不会说它已过时。您只需从here下载并自行安装最新版本。下载链接可能会在将来发生变化。
P.S。我认为问题是由于使用了旧编译器中不存在的一些选项而引起的。
答案 4 :(得分:4)
当我将一个项目从Typescript 1.8
升级到2.3
Microsoft.TypeScript.MSBuild
按如下方式更新*.csproj
TypeScriptToolsVersion
升级为2.3
(在本例中)Import Project
Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets
import
元素非常重要,因为它们指的是%PROGRAMFILES(X86)%
文件夹中安装的TypeScript。import
文件夹的packages
元素 - 使您的构建更具可移植性答案 5 :(得分:3)
答案 6 :(得分:1)
安装Microsoft.Typescript.MsBuild为我解决了这个问题,但前提是我安装了倒数第二个版本。当前(稳定)版本是2.0.6,在我安装之后,问题仍然存在。当我恢复到1.8.11时,问题就消失了。
答案 7 :(得分:1)
我有同样的问题。通过从项目文件中删除以下内容来修复它
<TypeScriptToolsVersion>2.0</TypeScriptToolsVersion>
答案 8 :(得分:1)
将C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Typescript
中的所有文件移至某个新文件夹(例如backup
),然后重试。这将导致MSBuild从相应版本的文件夹中选择tsc.exe
,而不是使用C:\Program Files (x86)\Microsoft SDKs\TypeScript
中的{。}}。
答案 9 :(得分:0)
双击visual studio中的.ts
文件之一为我工作。然后它出现了一个对话框,询问我是否要将项目更新到最新版本的TS。之后,项目构建正常,编译错误消失了。
答案 10 :(得分:0)
需要在系统中重新安装/升级,打字稿。
由于我遇到同样的问题,安装Typescript之后再次解决了错误,因为
答案 11 :(得分:0)
我们在VS外使用npm
和angular-cli
来翻译我们的打字稿。我在加载了Web Essentials扩展的唯一开发框上遇到了上述问题。尝试安装,然后卸载上面描述的MS nugets和TypeScript扩展无济于事后,卸载Web Essentials终于可以解决问题了。
答案 12 :(得分:0)
我遇到了同样的问题,原因是,2个开发人员正在研究同一个项目,所以当他将新的.ts文件添加到项目和一些角度控制器时。该项目正在按预期重建和运行,但是当另一个开发人员试图在他的机器上获取最新的源代码并且在重建时,他得到了相同的错误“tsc.exe”退出了代码1。 原因是源控件中创建/添加的文件没有显示添加 开发者2解决方案请尝试检查所有.ts,.js文件是否都是最新的开发人员解决方案。
答案 13 :(得分:0)
我在使用AngularJS的解决方案中遇到了相同的问题,但没有编译器(低于2.x,因此不需要)。我只是从脚本文件夹中删除了index.d.ts,而且还可以(不需要NuGet软件包)
答案 14 :(得分:0)
如果您在从引导程序3更新到4时遇到此问题,只需删除在Scripts文件夹中创建的.ts文件,然后重新构建。