我正在使用默认 ASP.NET 5 Web项目模板,并尝试确定如何为我的应用程序指定TypeScript工具和最终编译器版本。
我 不 但仍在使用Gulp
所以这篇帖子answer似乎没有用水。原因是,我的应用程序即使没有Gulp也必须告诉使用哪种TypeScript编译器。此answer也不是要查找版本,而是使用尚未支持的功能。
在VSNET 2013中,TypeScript工具版本和目标编译器已在项目的属性中设置:
<TypeScriptToolsVersion>1.7</TypeScriptToolsVersion>
我认为它是我compilerOptions
文件的tsconfig.json
部分的一个选项。但是我没有version
的智能感知,看起来文档很稀疏。这个link表示它只是发出编译器的版本,但不允许指定它。
我目前在我的机器上安装了1.6和1.7版本。如果我需要指定特定的编译器版本,我该如何在ASP.NET 5 Web模板中设置它?同样,答案并不是立即使用Gulp,因为它现在正在构建和编译我的.ts
文件,因此有些事情要求使用编译器。
答案 0 :(得分:6)
在下列文件中设置了ASP.NET 5项目的TypeScript工具(和相应的编译器版本):
TS 1.7: C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ TypeScript \ 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 \ Microsoft \ VisualStudio \ v15.0 \ TypeScript
<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>
请注意,上面配置中的第1行对于TypeScript 1.7编译器具有值1.7
。
答案 1 :(得分:3)
Visual Studio 2015 IDE将使用PATH中指定的TypeScript。如果您可以将它从TypeScript 1.7更改为1.8,它将与ASP.NET 5应用程序和其他应用程序一起使用。
不需要使用GULP,我希望您使用VS IDE或其VS代码
此方法将强制所有其他应用程序仅使用TypeScript 1.8,但非ASP.NET 5应用程序在proj文件中有条目。
答案 2 :(得分:1)