在Visual Studio中使用特定的TypeScript编译器版本

时间:2014-04-23 13:11:05

标签: visual-studio typescript

我想知道是否有办法在Visual Studio中为项目设置特定的TypeScript编译器版本。因此,我可以将项目配置为始终使用版本1.0,即使将发布新版本。

我知道it was not possible before,我想知道在TypeScript成熟到1.0版之后情况是否会发生变化。

我注意到现在Visual Studio在项目文件中创建了<TypeScriptToolsVersion>0.9</TypeScriptToolsVersion>属性,但找不到任何关于它的文档。

4 个答案:

答案 0 :(得分:22)

如果您尝试使用TypeScript版本1.0使用<TypeScriptToolsVersion>0.9</TypeScriptToolsVersion>编译项目,则会出现以下错误:

  

您的项目文件使用的TypeScript编译器和工具版本与此计算机上当前安装的版本不同。在C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript \ 0.9 \ tsc.exe中找不到编译器。您可以通过更改项目文件中的元素来解决此问题。

因此它阻止您使用较新版本进行编译。但它并没有将编译器置于0.9兼容模式。

但是如果安装了TypeScript 0.9,它将针对该版本进行编译。所以,是的,您可以使用属性强制使用特定版本的TypeScript编译器。

基本上<TypeScriptToolsVersion>做的是它改变了编译器的路径:

C:\Program Files (x86)\Microsoft SDKs\TypeScript\<TypeScriptToolsVersion>\tsc.exe

答案 1 :(得分:8)

我通过在条件语句中$(TypeScriptToolsVersion)\之后添加TypeScript\来解决它。

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets"
Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\$(TypeScriptToolsVersion)\Microsoft.TypeScript.targets')" />

答案 2 :(得分:5)

Visual Studio版本 - &gt; VS2013

  1. 安装Typescript 1.8 - &gt; https://visualstudiogallery.msdn.microsoft.com/9d0e9172-244a-4943-94e5-bd24dffd9536
  2. 打开项目的文件夹位置,例如右键单击您的项目&gt;在文件资源管理器中打开文件夹
  3. 通过文本编辑器查找并打开项目文件,例如WebApplication1.csproj
  4. 在“PropertyGroup”元素下找到“TypeScriptToolsVersion”标记并使用1.8。像这样,
  5.   <PropertyGroup>
      ......
        <IISExpressUseClassicPipelineMode />
        <TypeScriptToolsVersion>1.8</TypeScriptToolsVersion>
      </PropertyGroup>
    

答案 3 :(得分:0)

我们可以使用csproj文件中的以下行在Visual Studio中排除类型脚本文件编译。

<TypeScriptToolsVersion>0.9</TypeScriptToolsVersion>

public class WithTestNG { WebDriver driver; @Parameters("browser") @BeforeClass { if(browser.equalsIgnoreCase("firefox")) System.setProperty("webdriver.gecko.driver","/Users/Preet/Desktop /Path/geckodriver" ); driver = new FirefoxDriver(); } else if (browser.equalsIgnoreCase("ie")) { System.setProperty("webdriver.ie.driver","C:\\Users\\CP\\Downloads\\IED riverServer_x64_3.4.0\\IEDriverServer.exe"); driver = new InternetExplorerDriver(); } else if (browser.equalsIgnoreCase("chrome")) { System.setProperty("webdriver.chrome.driver","/Users/Preet12/Desktop/Pa th/chromedriver" ); driver = new ChromeDriver(); } driver.manage().window().maximize(); } @Test(priority=0) public void OpenStore() { String URL = "www.facebook.com"; driver.get(URL); String Actual_URL = driver.getCurrentUrl(); String Expected_URL = "https://www.facebook.com/"; Assert.assertEquals(Actual_URL, Expected_URL, "URL doesn't match"); System.out.println("URL verified"); } 这一行之后。