也许这是显而易见的,但我到处检查(除了正确的地方),谷歌它。什么都没有。
当前回答
As far as I understand VS has nothing to do with TS installed by NPM. (You may notice after you install TS using NPM, there is no tsc.exe file). VS targets only tsc.exe installed by TS for VS extension, which installes TS to c:\Program Files (x86)\Microsoft SDKs\TypeScript\X.Y. You may have multiple folders under c:\Program Files (x86)\Microsoft SDKs\TypeScript. Set TypeScriptToolsVersion to the highest version installed. In my case I had folders "1.0", "1.7", "1.8", so I set TypeScriptToolsVersion = 1.8, and if you run tsc - v inside that folder you will get 1.8.3 or something, however, when u run tsc outside that folder, it will use PATH variable pointing to TS version installed by NPM, which is in my case 1.8.10. I believe TS for VS will always be a little behind the latest version of TS you install using NPM. But as far as I understand, VS doesnt know anything about TS installed by NPM, it only targets whateve versions installed by TS for VS extensions, and the version specified in TypeScriptToolsVersion in your project file.
其他回答
As far as I understand VS has nothing to do with TS installed by NPM. (You may notice after you install TS using NPM, there is no tsc.exe file). VS targets only tsc.exe installed by TS for VS extension, which installes TS to c:\Program Files (x86)\Microsoft SDKs\TypeScript\X.Y. You may have multiple folders under c:\Program Files (x86)\Microsoft SDKs\TypeScript. Set TypeScriptToolsVersion to the highest version installed. In my case I had folders "1.0", "1.7", "1.8", so I set TypeScriptToolsVersion = 1.8, and if you run tsc - v inside that folder you will get 1.8.3 or something, however, when u run tsc outside that folder, it will use PATH variable pointing to TS version installed by NPM, which is in my case 1.8.10. I believe TS for VS will always be a little behind the latest version of TS you install using NPM. But as far as I understand, VS doesnt know anything about TS installed by NPM, it only targets whateve versions installed by TS for VS extensions, and the version specified in TypeScriptToolsVersion in your project file.
tsc -v命令在Windows Path变量的SDK目录集中读取TypeScript编译器版本。这并不一定反映安装的最新版本,因为Path变量没有随着后续安装而更新。
VS.NET用来编译TypeScript的版本在项目的配置中:
< TypeScriptToolsVersion > 1。5 < / TypeScriptToolsVersion >
为了更详细地解释这一点,我创建了下面的帖子,其中有关于安装的TypeScript版本的细节,以及VS.NET使用哪个版本来编译TypeScript文件。
TypeScript安装的版本和Visual Studio使用的版本?
我还在Microsoft Connect上添加了一个特性请求,以便更容易地查看和切换VS.NET中的TypeScript目标版本。这并不是一个真正的TypeScript特性请求,而是一个VS.NET IDE增强。
允许从项目属性IDE切换TypeScript配置版本
在这个问题被提出两年之后,使用Visual Studio命令提示符仍然没有为我提供正确的答案。但通常的帮助|关于窗口似乎工作这些天:
更新(2017年6月):
VS 2013没有显示这个信息。(稍后注意:VS 2017企业版也不显示此信息)。 VS使用Microsoft Build Engine (MSBuild)编译Typescript文件。MSBuild可以支持几个主要的Typescript版本,但是About窗口只显示最新的版本。
下面是深入了解问题的方法:
A.要检查Visual Studio/MSBuild安装了哪些版本的Typescript,请检查C:\Program Files (x86)\Microsoft sdk \ Typescript文件夹的内容。例如,我有1.0、1.8和2.2版本:
B.检查你的项目需要哪个版本的Typescript。在*。在csproj文件中,寻找<TypeScriptToolsVersion>标签,或者如果它没有,你可以添加它,就像这样
< PropertyGroup > ... < TypeScriptToolsVersion > 1。8 < / TypeScriptToolsVersion > ... < / PropertyGroup >
C.最后,你可以检查MSBuild实际使用的Typescript版本。在TOOLS |选项|项目和解决方案|构建和运行中将MSBuild项目输出详细信息设置为详细信息:
然后构建你的项目并检查输出:你应该看到(A)中描述的Typescript文件夹之一的引用。
基于basarat的响应,我在这里给出了更多关于如何在Visual Studio 2013中运行它的信息。
进入Windows开始按钮->所有程序-> Visual Studio 2013 -> 打开Visual Studio Tools窗口,并显示工具列表。
选择VS2013的开发人员命令提示符 在打开的控制台中写入:tsc -v 你得到的版本:见图片
(更新)
如果你把你的Visual Studio更新到Typescript的新版本1.0。你在这里看不到最后的版本。查看最后的版本:
转到:C:\Program Files (x86)\Microsoft SDKs\TypeScript,在那里你会看到类型为0.9,1.0 1.1的目录 输入您拥有的较大的数字(在本例中为1.1) 复制目录并在CMD中运行tsc -v命令,您将得到 的版本。
注意:Typescript 1.3 install在目录1.1中,因此运行命令来了解你安装的最后一个版本是很重要的。
注意:有可能您已经安装了1.3版本,而您的代码使用1.0.3。为了避免这种情况,如果你的Typescript在一个单独的项目(s)卸载项目,看看Typescript标签:
<TypeScriptToolsVersion>1.1</TypeScriptToolsVersion>
设置为1.1。
(更新2)
TypeScript版本1.4,1.5 ..1.7安装在1.4,1.5…1.7的目录。他们不是问题的发现版本。如果你在一个单独的项目中有typescript,并且你从以前的typescript迁移,你的项目继续使用旧版本。要解决这个问题:
卸载项目文件并将typescript版本更改为1。x:
<TypeScriptToolsVersion>1.x</TypeScriptToolsVersion>
如果使用visual studio安装文件安装typescript,那么新的typescript编译器的路径应该自动更新为指向1。x目录。如果你有问题,检查你的环境变量Path包含
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.x\
给微软的建议:-)因为Typescript是和其他版本一起运行的,所以最好在项目属性中有一个组合框来选择Typescript编译器(类似于选择net版本)
你可以做npm list | grep typescript,如果它是通过npm安装的。
推荐文章
- 如何为构造函数定制Visual Studio的私有字段生成快捷方式?
- 从元组/数组值派生联合类型
- 如何在Angular2 ngSwitch语句中使用typescript enum值
- 为什么Visual Studio 2015/2017/2019测试运行器没有发现我的xUnit v2测试
- Visual Studio复制项目
- 找到合成属性@panelState。请在您的应用程序中包含“BrowserAnimationsModule”或“NoopAnimationsModule”。
- Angular 2+和debounce
- 如何在iis7应用程序池中设置。net Framework 4.5版本
- 在TypeScript箭头函数中指定返回类型
- 如何使用jQuery与TypeScript
- Angular 2模板中的标签是什么意思?
- Typescript接口-可能使“一个或另一个”属性要求?
- 如何扩展/继承组件?
- Visual Studio - Resx文件默认“内部”为“公共”
- 在Visual Studio 2010中有快速查找文件的方法吗?