如何在Visual Studio 2010中安装TypeScript

39

这是一个常见问题,我将提供答案。


安装这个软件在Windows 7上有什么区别吗? - Sam
只是更新一下我的上面的评论:这对我在Windows 7中也很好用。也许这个问题应该被修改,以删除对“Windows Vista”的引用。 - Sam
我之前并不知道标准安装程序在Windows 7上无法运行。真的吗?如果是这样的话,我会更新标题。 - Richard Collette
抱歉,我觉得我的评论有歧义。我的意思是在Windows 7中问题和你的解决方案似乎是相同的。因此,我建议也许应该删除问题中关于“Windows Vista”的引用,这样Windows 7和8的用户也可以知道这适用于他们。 - Sam
2
关于标准安装程序,它在Windows 7中运行良好,但它不会向Visual Studio 2010添加TypeScript支持;我认为这与Vista和8的情况相同。 - Sam
2个回答

44

TypeScript版本0.9.1.1

Typescript 0.9.5+依赖于Microsoft.VisualStudio.Shell.11.0.dll。因此,这些说明将不再更新。

以下内容仅供教育目的。请遵守所有许可和重新分发要求。有关TypeScript的先前版本,请参阅此答案的编辑历史记录。

  1. 关闭Visual Studio
  2. 安装Wix Toolset
  3. 下载适用于Visual Studio 2012的TypeScript版本0.9.1.1,并将安装程序放置在其自己的临时目录中。
  4. 在临时目录中打开命令窗口。
  5. 执行命令"%wix%\bin\dark.exe" -x .\TypeScriptSetup TypeScriptSetup.0.9.1.1.exe
  6. 进入目录.\TypeScriptSetup\AttachedContainer\packages\TypeScript_CORE
  7. 执行以下命令

    IF NOT DEFINED ProgramFiles(x86) SET ProgramFiles(x86)=%ProgramFiles%
    SET VSDir=%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE
    SET Devenv=%VSDir%\devenv.exe
    
    对于Windows 7用户,执行以下命令: TypeScript_CORE.msi /l* log.txt VS11_EXTENSIONS_DIR="%VSDir%\Extensions\Microsoft" VS11_NEWSCRIPTITEMS_DIR="%VSDir%\NewFileItems" VS11DEVENV="%Devenv%" VS11_TARGETSINSTALLFOLDER="%ProgramFiles(x86)%\MSBuild\Microsoft\VisualStudio\v10.0\TypeScript" 对于Windows Vista用户,需要使用Wix构建新的安装程序。
    1. 执行命令"%wix%\bin\dark.exe" -x .\TypeScript_CORE TypeScript_Core.msi
    2. 可选地,将TypeScript_CORE.wxs复制到TypeScript_CORE.wxs.bak中(建议)
    3. 编辑TypeScript_CORE.wxs替换下面所示的行。为避免可能的版权问题,以及因StackOverflow上的大小限制,未发布完整更新的文件。我能做的最好的就是发布差异报告。第一列的数字是原始文件的行号,第二列的数字是编辑后的文件的行号。由于已删除的行,编辑后的文件的行号将更低。
    ------------------------------------------------------------------------
    3           <Product Id="{5A908D89-0620-4CC0-A8B8-2CB4A7B0772C}" Codepage="1252" Language="1033" Manufacturer="Microsoft Corporation" Name="TypeScript for Microsoft® Visual Studio® 2012" UpgradeCode="{F15B62A0-4478-4924-876A-867617EC4B8C}" Version="0.9.1.1">
    4               <Package Comments="This installer database contains the logic and data required to install TypeScript for Microsoft® Visual Studio® 2012." Compressed="yes" Description="TypeScript for Microsoft® Visual Studio® 2012" InstallerVersion="500" Languages="1033" Manufacturer="Microsoft Corporation" Platform="x86" />
        3       <Product Id="{5A908D89-0620-4CC0-A8B8-2CB4A7B0772C}" Codepage="1252" Language="1033" Manufacturer="Microsoft Corporation" Name="TypeScript for Microsoft® Visual Studio® 2010" UpgradeCode="{F15B62A0-4478-4924-876A-867617EC4B8C}" Version="0.9.1.1">
        4           <Package Comments="This installer database contains the logic and data required to install TypeScript for Microsoft® Visual Studio® 2010." Compressed="yes" Description="TypeScript for Microsoft® Visual Studio® 2010" InstallerVersion="405" Languages="1033" Manufacturer="Microsoft Corporation" Platform="x86" />
    ------------------------------------------------------------------------
    ------------------------------------------------------------------------
    15(删除)              <CustomAction Id="VS11_CAUpdateConfig" Property="VS11DEVENV" ExeCommand="/updateConfiguration" Return="ignore" Execute="deferred" Impersonate="no" />
    16(删除)              <CustomAction Id="VWD11_CAUpdateConfig" Property="VWD11EXPRESS" ExeCommand="/updateConfiguration" Return="ignore" Execute="deferred" Impersonate="no" />
    ------------------------------------------------------------------------
    ------------------------------------------------------------------------
    222                                 <Directory Id="MSBuild_Microsoft_VisualStudio_11" Name="v11.0">
        220                             <Directory Id="MSBuild_Microsoft_VisualStudio_11" Name="v10.0">
    ------------------------------------------------------------------------
    ------------------------------------------------------------------------
    293             <Feature Id="TypeScriptInstallation" Level="1" Title="TypeScript for Microsoft&® Visual Studio® 2012 Setup">
        291         <Feature Id="TypeScriptInstallation" Level="1" Title="TypeScript for Microsoft&® Visual Studio® 2010 Setup">
    ------------------------------------------------------------------------
    ------------------------------------------------------------------------
    427(删除)             <Property Id="WixPdbPath" Value="D:\nightly\release-0.9.1.1\srcSetup\wix\outs\x86ret\enu\cooked\TypeScript_CORE_net.wixpdb" />
    ------------------------------------------------------------------------
    ------------------------------------------------------------------------
    663                 <ProgressText Action="CAIsVSRunning">Checking if Microsoft® Visual Studio® 2012 is running</ProgressText>
        660             <ProgressText Action="CAIsVSRunning">Checking if Microsoft® Visual Studio® 2010 is running</ProgressText>
    ------------------------------------------------------------------------
    ------------------------------------------------------------------------
    712                     <Control Id="VSRunningStatus" Type="Text" X="25" Y="110" Width="320" Height="110" Text="Microsoft® Visual Studio® 2012 is running, It is recommended that you close it before proceeding [ProductName] Setup." TabSkip="yes" />

    现有项目需要在项目文件底部添加以下元素。请注意,在BeforeBuild元素之前已添加的元素。

      <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
        <TypeScriptTarget>ES3</TypeScriptTarget>
        <TypeScriptIncludeComments>true</TypeScriptIncludeComments>
        <TypeScriptSourceMap>true</TypeScriptSourceMap>
      </PropertyGroup>
      <PropertyGroup Condition="'$(Configuration)' == 'Release'">
        <TypeScriptTarget>ES3</TypeScriptTarget>
        <TypeScriptIncludeComments>false</TypeScriptIncludeComments>
        <TypeScriptSourceMap>false</TypeScriptSourceMap>
      </PropertyGroup>
      <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" />
      <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
         Other similar extension points exist, see Microsoft.Common.targets.
      <Target Name="BeforeBuild">  
      </Target>
      <Target Name="AfterBuild">
      </Target>-->
    

    杂项

    在 TypeScript 不再出现在“程序和功能”列表中之前,可能需要执行两次卸载操作。第一次卸载后,通过按 F5 键刷新应用程序列表。卸载后仍可能存在某些文件。

    TypeScript_CORE.msi 中有其他自定义调试器路径属性。我假设此时 VS 2010 与向不同源文件进行脚本调试不兼容。但是,其他人可能希望尝试使其工作。其他自定义属性名称为:VS11_DEBUGGER_DIR、VS11_DEBUGGER_X64_DIR 和 VS11_REMOTEDEBUGGER_DIR。

    还有其他自定义属性可启用使用 Visual Web Developer 或 Visual Web Developer Express 中的一个或两个进行安装。我无法测试这些产品的安装。TypeScript_CORE.msi 文件中与此安装相关的自定义属性是:VWD11_EXTENSIONS_DIR、VWDExpress11 和 VWD11_NEWSCRIPTITEMS_DIR。

    功能

    • 新项目类型和项目项类型可用。
    • 在“工具\选项”菜单下的 TextEditor\TypeScript 部分。
    • 对 .ts 文件进行智能感知编辑。
    • 在生成或保存时(已在文本编辑器选项中设置生成保存)构建 .js 文件。
    • .js 文件在解决方案资源管理器中显示为 .ts 文件的子级,但保存在与 .ts 文件相同的路径下。(版本 0.9.1.1 默认不将 .js 文件包含在项目中)
    • 发布时不包括 .ts 文件,只包括 .js 文件。
    • .ts 文件有自己的图标,并与 Visual Studio 相关联。

    修订历史记录

    • 更新 TypeScript 版本 0.9.1.1
    • 更新 TypeScript 版本 0.8.3.1
    • 修复缺少 MSBUILD 目录拷贝指令的问题(针对 0.8.3 版本)

    截图

    项目模板屏幕截图 编辑器屏幕截图 解决方案资源管理器屏幕截图 TypeScript 选项屏幕截图 文件图标屏幕截图


2
请注意,TypeScript已更新至0.9.0.1版本。Visual C++可再发行组件已更新至Update 3。我确认了您的指示仍然有效。能否请您更新链接描述?我尝试过了,但我的编辑被拒绝了。 - Sam
1
在32位Windows上,%ProgramFiles(x86)%环境变量不存在,因此在该平台上的用户应改用%ProgramFiles% - Sam
1
在Windows 7中,我收到了以下错误:`无效的命令行。未知开关:updateConfiguration。用法: devenv [solutionfile | projectfile | anyfile.ext] [switches]。` - Sam
1
关于我上面的评论,我认为运行 devenv /Setup 将实现相同的功能,尽管速度较慢。 - Sam
2
上述关于MSBuild目标不在v10.0文件夹中的问题实际上也影响了你在0.9.1.1版本中的上述说明。早些时候我没有意识到这一点,因为我安装了之前的TypeScript版本,然后才安装了0.9.1.1版本。我更新了我的回答以定义VS11_TARGETSINSTALLFOLDER变量来解决这个问题。(这都是针对Windows 7的) 我可能会看看能否编辑你的内容来修复它。 - Sam
显示剩余30条评论

3

按照Richard Collette的Windows 7说明操作后,安装程序应该会出现以下错误信息,然后完成安装:

无效的命令行。未知开关:updateConfiguration。使用方式为:devenv [solutionfile | projectfile | anyfile.ext] [switches]

如果出现任何问题,可以尝试运行以下命令:

"%Devenv%" /Setup

感谢您的分享。由于我无法在32位Windows 7上测试此内容,而不需要设置虚拟机,因此最好将其单独留在您的名下。您也应该得到与此特定指令相关的任何赞。 - Richard Collette

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接