【发布时间】:2014-07-19 20:16:23
【问题描述】:
也许这很明显,但我到处检查(除了正确的地方)并用谷歌搜索。什么都没有。
【问题讨论】:
也许这很明显,但我到处检查(除了正确的地方)并用谷歌搜索。什么都没有。
【问题讨论】:
如果你只为 Visual Studio 安装了 TypeScript,那么:
tsc -v 并回车Visual Studio 2017 版本 15.3 及更高版本将 TypeScript 版本绑定到各个项目,如 this answer points out:
- 在解决方案资源管理器中右键单击项目节点
- 点击属性
- 转到 TypeScript 构建选项卡
【讨论】:
在提出问题两年后,使用 Visual Studio 命令提示符 仍然没有为我提供正确的答案。但是现在通常的 Help|About 窗口似乎可以正常工作:
更新(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 SDKs\TypeScript 文件夹的内容。例如,我有 1.0、1.8 和 2.2 版本:
B.检查您的项目请求哪个版本的 Typescript。在 *.csproj 文件中,查找
<PropertyGroup>
...
<TypeScriptToolsVersion>1.8</TypeScriptToolsVersion>
...
</PropertyGroup>
C.最后,您可以检查一下,MSBuild 实际使用的是哪个版本的 Typescript。在工具 |选项 |项目和解决方案 | Build and Run 将 MSBuild 项目输出详细程度 设置为 Detailed:
然后构建您的项目并检查输出:您应该看到对 (A) 中描述的 Typescript 文件夹之一的引用。
【讨论】:
根据 basarat 的回复,我在此提供更多信息,说明如何在 Visual Studio 2013 中运行它。
[更新]
如果您将 Visual Studio 更新为 1.0.x 的新版 Typescript,您不会在此处看到最新版本。查看最新版本:
注意:Typescript 1.3 安装在目录 1.1 中,因此运行命令以了解您安装的最后一个版本很重要。
注意:您可能安装了 1.3 版本,而您的代码使用的是 1.0.3。如果您将 Typescript 放在单独的项目中,为避免这种情况,请卸载项目并查看 Typescript 标签:
<TypeScriptToolsVersion>1.1</TypeScriptToolsVersion>
设置为 1.1。
[更新 2]
TypeScript 版本 1.4、1.5 .. 1.7 安装在 1.4、1.5... 1.7 目录中。他们不是找到版本的问题。如果您在单独的项目中有打字稿并且您从以前的打字稿迁移您的项目继续使用旧版本。解决这个问题:
卸载项目文件并将 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版本)
【讨论】:
PATH 变量中的值是 tsc -v 将读取的值(从命令行根目录;导航到各个 SDK 目录并运行命令将显示实际版本),但是 VS .NET 将使用 .csproj 文件中 <TypeScriptToolsVersion> 值中指示的版本。 tsc -v 似乎有点误导,因为在安装较新版本的 TypeScript 时不会更新 PATH 变量值。请参阅以下内容:github.com/Microsoft/TypeScript/issues/2068
tsc -v 命令运行技术上 读取 Windows Path 变量中设置的 SDK 目录中的 TypeScript 编译器版本。这不一定反映安装的最新版本,因为 Path 变量未随后续安装更新。
VS.NET 用于编译 TypeScript 的版本是项目配置中的版本:
<TypeScriptToolsVersion>1.5</TypeScriptToolsVersion>
为了帮助更详细地解释这一点,我创建了以下帖子,其中详细介绍了安装的 TypeScript 版本,以及 VS.NET 用于编译 TypeScript 文件的版本。
Which Version of TypeScript is Installed and Which Version is Visual Studio Using?
我还在 Microsoft Connect 上添加了一个功能请求,以便更轻松地在 VS.NET 中查看和切换针对 TypeScript 的版本。这不是一个真正的 TypeScript 功能请求,而是一个 VS.NET IDE 增强。
Allow switching TypeScript configured version from Project Properties IDE
【讨论】:
TypeScript 团队 sorted this out 在 Visual Studio 2017 版本 15.3 及更高版本中,包括免费的社区版。
如何查看 Visual Studio 中安装了哪些 TypeScript 版本
您现在需要做的就是转到任何 TypeScript Visual Studio 项目的项目属性(右键单击解决方案资源管理器/属性中的项目文件),然后转到左侧的 TypeScript Build 选项卡。这有一个“Typescript 版本”下拉菜单,显示项目正在使用的版本,如果您打开它下拉菜单会显示当前安装在 Visual Studio 中的所有 TypeScript 版本。
实际安装当前位于C:\Program Files (x86)\Microsoft SDKs\TypeScript,然后是按版本号划分的子文件夹,至少在我的计算机上的 Win10 上。如果您想查看确切的版本(例如 2.8.3 而不仅仅是 2.8),您可以在此处找到适当的 tsc.exe 并查看其属性(右键单击中的详细信息选项卡/文件资源管理器中的属性)。
如何安装特定的 TypeScript 版本
如果您想安装特定版本的 TypeScript,则可以在 Visual Studio Marketplace 上找到这些版本,尽管在该列表中很难找到特定版本号。例如,谷歌搜索“visual studio marketplace typescript 3.3.1”通常会找到您想要的确切版本。如果从此处安装并重新启动 Visual Studio,则版本将显示在下拉列表中。另请注意,如果安装了更新的版本,某些最新版本的 TypeScript(例如 4.2)将拒绝安装。
Node.js 控制台应用程序
此答案不适用于“Node.js 控制台应用程序”项目类型,该项目类型在项目属性中没有 TypeScript 构建选项卡。这是因为它使用 npm 安装在项目文件夹中的 TypeScript 版本。可以在 package.json 文件中查看和更改版本,安装后会显示在解决方案资源管理器的 npm 条目下,以及磁盘上的 node_modules/typescript 文件夹中。
【讨论】:
在 Visual Studio 2015 上,只需转到:帮助/关于 Microsoft Visual Studio 然后你会看到这样的东西:
Microsoft Visual Studio 企业版 2015 版本 14.0.24720.00 更新 1 微软 .NET 框架 版本 4.6.01055
...
TypeScript 1.7.6.0 用于 Microsoft Visual Studio 的 TypeScript
....
【讨论】:
您可以在 Visual Studio 2013 的 NuGet 包管理器控制台中运行它。
【讨论】:
据我了解,VS 与 NPM 安装的 TS 无关。 (你可能会注意到使用 NPM 安装 TS 后,没有 tsc.exe 文件)。 VS 仅针对 TS 为 VS 扩展安装的 tsc.exe,它将 TS 安装到 c:\Program Files (x86)\Microsoft SDKs\TypeScript\X.Y。 您可能在 c:\Program Files (x86)\Microsoft SDKs\TypeScript 下有多个文件夹。 将 TypeScriptToolsVersion 设置为安装的最高版本。 在我的情况下,我有文件夹“1.0”、“1.7”、“1.8”,所以我设置 TypeScriptToolsVersion = 1.8,如果你在该文件夹中运行 tsc -v 你会得到 1.8.3 或其他东西,但是,当你运行 tsc在该文件夹之外,它将使用指向 NPM 安装的 TS 版本的 PATH 变量,在我的例子中是 1.8.10。 我相信 TS for VS 将永远落后于您使用 NPM 安装的最新版本的 TS。但据我了解,VS 对 NPM 安装的 TS 一无所知,它只针对 TS 为 VS 扩展安装的任何版本,以及项目文件中 TypeScriptToolsVersion 中指定的版本。
【讨论】:
我有 VS2015,我必须使用 TypeScript 1.7 运行构建,虽然我通过 npm install typescript -g 安装了 1.8,但有两种方法(至少对我来说它们有效):
.proj 文件并尽可能添加<TypeScriptToolsVersion>1.7</TypeScriptToolsVersion>。重建,重新运行。如果它不起作用,请尝试 2。Control Panel -> System -> Advanced System Settings -> Enviroment Variables。确保首先添加所需的 TypeScript 版本:C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.7;C:\Users\serban\AppData\Roaming\npm
这也会影响您的 CLI:
$ tsc -v
message TS6029: Version 1.7.5
【讨论】:
首先,确保您的Environment VariablesPath中有以下地址
C:\Program Files (x86)\Microsoft SDKs\TypeScript\2.0
然后打开您的Command Prompt 并输入以下命令:
tsc -v
【讨论】:
如果是通过 npm 安装的,你可以使用npm list | grep typescript。
【讨论】:
打开(正常,不是 VS)命令提示符或 PowerShell 提示符。
tsc.exe -v
tsc.cmd -v
tsc -v
如果你安装了相同版本的 TypeScript for Visual Studio 并使用 npm,上面三个命令的输出应该是一样的。
如果没有,请检查您的系统路径以查看路径层次结构中的位置以及列出的打字稿目录。对于 PowerShell 用户,简单的方法是:
$env:path -split ';'
注意在您的系统 PATH 变量中没有列出任何或多个 TypeScript 目录。截至 2017 年 6 月 9 日,我的系统路径看起来像这样(只是顶部,在这种情况下最重要):
ps>$env:path -split ';'
C:\Windows\system32
C:\Windows
C:\Windows\System32\Wbem
C:\Windows\System32\WindowsPowerShell\v1.0\
C:\Program Files (x86)\Microsoft SDKs\TypeScript\2.3
C:\nodejs\
C:\Users\{username}\AppData\Roaming\npm
请注意只有 2.3 目录包含在 PATH 中,而不是多个版本。
【讨论】:
在命令提示符下,只需键入以下命令之一,然后按 Enter :
tsc -v
或
tsc -version
或
tsc --version注意:确保您已将 Typescript 添加到环境变量路径 运行命令前,详情请看:How to set environment variable.
【讨论】:
对于非命令行方法,您可以打开 Extensions & Updates 窗口(工具->Extensions and Updates)并搜索 Typescript for Microsoft Visual Studio 扩展已安装
【讨论】: