Typescript v1.3是announced today,所以我安装了power tools update for VS2013。
安装后我可以看到Visual Studio现在知道" protected"关键字和元组类型,这很棒!
但后来我将* .csproj文件中的TypeScriptToolsVersion属性从1.1更改为1.3:
<TypeScriptToolsVersion>1.3</TypeScriptToolsVersion>
执行此操作后,构建时出现以下错误:
指定的任务可执行位置&#34; C:\ Program Files (x86)\ Microsoft SDKs \ TypeScript \ 1.3 \ tsc.exe&#34;是 无效。
文件夹&#34; 1.3&#34;尚未由安装程序创建。
作为一种解决方法,我只需制作1.1编译器的副本就能让它工作。
有谁知道为什么1.3版本文件夹未包含在此版本中?
注意:使用VS Professional 2013(12.0.30723.00 Update 3)
答案 0 :(得分:7)
当前的1.3版本安装到1.1文件夹中,新项目将设置&lt; TypeScriptToolsVersion&gt;项目文件中的属性为&#34; 1.1&#34;另外(因为这个元素的值是我们附加的&#34; C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript&#34;来查找编译器,所以这需要同步)。
对于编译器,我们可以并排放置多个版本(可以看到1.0和1.1文件夹),因此将使用与项目中的TypeScriptToolsVersion设置相对应的编译器版本来构建项目。我们不会自动将目标版本向前移动(为了使项目能够与那些不像你们一样前卫的大学一起进行项目往返;-)
对于Visual Studio中的语言服务,但只能存在一个版本,这将是安装的最新版本。由于我们的目标是保持向后兼容性,因此在打开较旧的项目版本时,这不会影响体验(除了允许使用旧编译器在编译时失败的新功能)。
当您打开具有早期版本的项目时,我们会发出警告,指出项目版本与语言服务不同步,这可能会发生(类似于&#34; 您的项目文件使用旧版本的此版本的Visual Studio支持的TypeScript编译器和工具。您的项目可能正在使用TypeScript语言功能,这些功能在使用此版本的TypeScript工具进行编译时会导致错误&#34;)。这是一个无害的警告,您可以继续编辑项目。如果通过指定的编译器版本不支持的语言服务添加新功能,则在构建时将发生错误(根据警告)。
它并不理想,我们正在讨论如何让它变得更好。抱歉有任何困惑。
答案 1 :(得分:3)
当我升级到TypeScript 1.3 on the tsUnit project时,变更集显示工具版本已从:
更改<TypeScriptToolsVersion>1.0</TypeScriptToolsVersion>
要
<TypeScriptToolsVersion>1.1</TypeScriptToolsVersion>
因此“工具版本”与语言版本不匹配。
值得注意的是,语言,编译器和工具可能都有不同的版本。如果您有最新版本(截至2014年11月),请运行tsc -v
查看语言版本,即版本1.3.0.0。
答案 2 :(得分:2)
有谁知道为什么1.3版本文件夹未包含在此版本中?
此评论澄清了这一点:https://github.com/Microsoft/TypeScript/issues/1138#issuecomment-62993605引用:
您应该拥有工具版本为1.1的1.3语言服务,而1.1文件夹应该包含1.3编译器。我意识到这很令人困惑