2016-03-01 63 views
4

我正在使用默认 ASP.NET 5 Web项目模板,并试图确定如何为我的应用程序指定TypeScript工具和最终编译器版本。ASP.NET 5项目中设置的TypeScript Tools版本在哪里?

尚未使用Gulp所以这篇文章的answer似乎并不成立。原因是,即使没有Gulp,我的应用也必须被告知要使用哪种TypeScript编译器。这个answer也不是寻找版本,而是使用尚未支持的功能。

在VSNET 2013年,有针对性的打字稿工具版本和编译器项目的属性设置:

<TypeScriptToolsVersion>1.7</TypeScriptToolsVersion> 

我相信这是我的tsconfig.json文件的compilerOptions部分的选项。然而,我没有得到任何intellisense为version,它似乎文件是稀疏的。这link表示它只是发出编译器的版本,但不允许指定它。

我目前在我的机器上安装了1.6和1.7版本。如果需要我指定一个特定的编译器版本,我该如何在ASP.NET 5 Web模板中设置它?同样,答案并不是立即使用Gulp,因为它现在编译和编译我的.ts文件,所以有些东西指示正在使用编译器。

+0

我不熟悉Typescript工具。你如何处理Visual Studio 2015中内建的Typescript无法做到的事情? – rgvassar

+0

你能否通过澄清你的意思是“我没有版本的智能感知”来改善这个问题。还有这句话:“这个链接声明它只是发布编译器的版本,但不允许指定它。” - 我不明白。 *你想说的事情是什么*发出编译器版本? OP中的这个问题也没有意义。 “你将如何在ASP中设置特定的编译器版本。NET 5的网页模板“ - 你不会,这是一个配置设置,你不会'设置在模板中。 –

+0

@ChrisHalcrow这个问题已经2年了,有7个意见,5个最高回答,你想澄清?它现在已经过时了,因为ASP.NET 5并不存在,因为它变成了ASP.NET Core,VS2105的旧版本,还有TS。因为我们没有在SO上过时的问题,所以它是一个快照时间对于什么是值得的,在XML文件中没有TS版本的智能感知,链接的'--version'开关发出编译器版本,最后在ASP.NET 5中(当时),答案显示了MSBuild将使用这些值来确定TS版本这个问题的大部分已过时 – atconway

回答

5

它出现的打字稿工具(以及相应的编译器版本)ASP.NET 5个项目在下列文件设置:

TS 1.7: C:\ Program Files文件(x86)的\的MSBuild \微软\ VisualStudio的\ v14.0 \打字稿\ Microsoft.TypeScript.targets

<PropertyGroup> 
    <TypeScriptToolsVersion Condition="'$(TypeScriptToolsVersion)'==''">1.7</TypeScriptToolsVersion> 
    <TscToolPath Condition="'$(TscToolPath)' == ''">$(MSBuildProgramFiles32)\Microsoft SDKs\TypeScript</TscToolPath> 
    <TscToolExe Condition="'$(TscToolExe)' == ''">tsc.exe</TscToolExe> 
    <TscYieldDuringToolExecution Condition="'$(TscYieldDuringToolExecution)' == ''">true</TscYieldDuringToolExecution> 
</PropertyGroup> 

TS 1.8 C:\ Program Files文件(x86)的\的MSBuild \微软\ VisualStudio的\ V15.0 \打字稿

<PropertyGroup> 
    <TypeScriptToolsVersion Condition="'$(TypeScriptToolsVersion)'==''">1.8</TypeScriptToolsVersion> 
    <!-- Check the default folder for the nuget version of the installer first, if that exists we should use that. --> 
    <TscToolPath Condition="'$(TscToolPath)' == '' AND Exists('$(MSBuildThisFileDirectory)tsc\tsc.exe') ">$(MSBuildThisFileDirectory)tsc\</TscToolPath> 
    <TscToolPath Condition="'$(TscToolPath)' == ''">$(MSBuildProgramFiles32)\Microsoft SDKs\TypeScript</TscToolPath> 
    <TscToolExe Condition="'$(TscToolExe)' == ''">tsc.exe</TscToolExe> 
    <TscYieldDuringToolExecution Condition="'$(TscYieldDuringToolExecution)' == ''">true</TscYieldDuringToolExecution> 
</PropertyGroup> 

注意上面配置中的第一行的TypeScript 1.7编译器的值为1.7

+0

不要为我工作 – Frawel

+0

安装最新版本帮助太:) –

3

Visual Studio 2015 IDE将使用PATH中指定的TypeScript。如果您可以将其从TypeScript 1.7更改为1.8,它将会随ASP.NET 5应用程序和其他应用程序一起工作。

不需要使用GULP,我希望你使用VS IDE或其VS代码

这种做法将迫使所有其他应用程序使用打字稿1.8只,但非ASP.NET应用程序5在进入proj文件。

+0

是的我熟悉TypeScript的PATH变量。有没有简单的方法来证明这个作品? (即在构建目标TS编译器路径的基础上对PATH变量进行修改等过程中看到一些输出) – atconway

+0

它与Angular 2 Beta版本一起工作,因为我的VS 2015在第一次安装时有TS 1.5。 –

+2

在Windows 8和更旧版本的TS中,使用了路径变量(请参阅我的博客文章:http://www.allenconway.net/2015/07/which-version-of-typescript-is.html)但是,我检查了而在带有TS 1.8的Windows 10上,TS编译器的PATH变量中没有定义任何值。你确定你的答案吗? – atconway

相关问题