Use specific TypeScript compiler version in Visual

2019-01-20 07:54发布

I wonder if there's a way to set specific TypeScript compiler version for project in Visual Studio. So I could configure a project to always use version 1.0, even if new versions would be released.

I know it was not possible before and I wonder if things changes after TypeScript matured to 1.0 version.

I noticed that now Visual Studio creates <TypeScriptToolsVersion>0.9</TypeScriptToolsVersion> property in a project file, but couldn't find any documentation about it.

4条回答
Anthone
2楼-- · 2019-01-20 08:04

Visual Studio Version -> VS2013

  1. Install Typescript 1.8 -> https://visualstudiogallery.msdn.microsoft.com/9d0e9172-244a-4943-94e5-bd24dffd9536
  2. Open the folder location of your project e.g. Right click on your project > Open Folder in File Explorer
  3. Find and open the project file via text editor e.g. WebApplication1.csproj
  4. Find the "TypeScriptToolsVersion" tag under the "PropertyGroup" element and use 1.8. Like so,
  <PropertyGroup>
  ......
    <IISExpressUseClassicPipelineMode />
    <TypeScriptToolsVersion>1.8</TypeScriptToolsVersion>
  </PropertyGroup>
查看更多
劳资没心,怎么记你
3楼-- · 2019-01-20 08:14

I have solved this way;

$(TypeScriptToolsVersion)

adding after \TypeScript\ on condition statement.

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets"
Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\$(TypeScriptToolsVersion)\Microsoft.TypeScript.targets')" />
查看更多
孤傲高冷的网名
4楼-- · 2019-01-20 08:16

We can exclude type script file compilation in visual studio using below line in csproj file.

<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked> 

after <TypeScriptToolsVersion>0.9</TypeScriptToolsVersion> this line.

查看更多
冷血范
5楼-- · 2019-01-20 08:22

If you try to compile a project with <TypeScriptToolsVersion>0.9</TypeScriptToolsVersion> using TypeScript version 1.0 you'll get the following error:

Your project file uses a different version of the TypeScript compiler and tools than is currently installed on this machine. No compiler was found at C:\Program Files (x86)\Microsoft SDKs\TypeScript\0.9\tsc.exe. You may be able to fix this problem by changing the element in your project file.

So it's preventing you from compiling with newer version. It does not however put the compiler into some 0.9 compatibility mode.

But if you have TypeScript 0.9 installed, it will compile against that version. So yes, you can force a specific version of the TypeScript compiler using the attribute.

Basically what the <TypeScriptToolsVersion> do is that it changes the path to the compiler:

C:\Program Files (x86)\Microsoft SDKs\TypeScript\<TypeScriptToolsVersion>\tsc.exe
查看更多
登录 后发表回答