如何在Visual Studio 2010中安装TypeScript

这是一个受欢迎的问题,我将提供答案。

TypeScript版本0.9.1.1

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

以下内容仅供教育之用。 请遵守所有的许可和再分配要求。 对于以前版本的TypeScript,请参阅此答案的编辑历史logging。

  1. closuresVisual Studio
  2. 安装Wix工具集
  3. 下载TypeScript for Visual Studio 2012版本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构build一个新的安装程序

  1. 执行命令"%wix%\bin\dark.exe" -x .\TypeScript_CORE TypeScript_Core.msi
  2. (可选)将TypeScript_CORE.wxs复制到TypeScript_CORE.wxs.bak(build议)
  3. 编辑TypeScript_CORE.wxsreplace下面显示的行。 为了避免可能的版权问题,并由于StackOverflow的大小限制,整个更新的文件尚未公布。 我能做的最好的是张贴差异报告。 第一列中的数字是原始文件的行号。 第二列中的数字是编辑文件中的行号。 编辑文件中的行号会因删除行而降低。
 -------------------------------------------------- ----------------------
 3 <Product Id =“{5A908D89-0620-4CC0-A8B8-2CB4A7B0772C}”Microsoft®VisualStudio®2012的“TypeScript”UpgradeCode =“{ F15B62A0-4478-4924-876A-867617EC4B8C}“Version =”0.9.1.1“>
 4 <Package Comments =“此安装程序数据库包含为Microsoft®VisualStudio®2012安装TypeScript所需的逻辑和数据。  Compressed =“yes”Description =“TypeScript forMicrosoft®VisualStudio®2012”InstallerVersion =“500”Languages =“1033”Manufacturer =“Microsoft Corporation”Platform =“x86”/>
     3 <Product Id =“{5A908D89-0620-4CC0-A8B8-2CB4A7B0772C}”Microsoft®VisualStudio®2010的“TypeScript”UpgradeCode =“{ F15B62A0-4478-4924-876A-867617EC4B8C}“Version =”0.9.1.1“>
     4 <Package Comments =“此安装程序数据库包含为Microsoft®VisualStudio®2010安装TypeScript所需的逻辑和数据。”  Compressed =“yes”Description =“TypeScript forMicrosoft®VisualStudio®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&®VisualStudio®2012 Setup”>
     291 <Feature Id =“TypeScriptInstallation”Level =“1”Title =“TypeScript for Microsoft&®VisualStudio®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”>检查Microsoft®VisualStudio®2012是否正在运行</ ProgressText>
     660 <ProgressText Action =“CAIsVSRunning”>检查Microsoft®VisualStudio®2010是否正在运行</ ProgressText>
 -------------------------------------------------- ----------------------
 -------------------------------------------------- ----------------------
 712 <Control Id =“VSRunningStatus”Type =“Text”X =“25”Y =“110”Width =“320”Height =“110”Text =“Microsoft®VisualStudio®2012正在运行,build议您在继续[ProductName]安装之前closures它。  TabSkip =“是”/>
     709 <Control Id =“VSRunningStatus”Type =“Text”X =“25”Y =“110”Width =“320”Height =“110”Text =“Microsoft®VisualStudio®2010正在运行,build议您在继续[ProductName]安装之前closures它。  TabSkip =“是”/>
 -------------------------------------------------- ----------------------
 -------------------------------------------------- ----------------------
 739(delete)<Control Id =“LaunchScreenAgreeLine”Type =“Hyperlink”X =“25”Y =“138”Width =“320”Height =“14”Text =“您必须同意<a href =”[ EulaURLName]“>许可条款</a>,然后才能安装TypeScript”TabSkip =“yes”>
 740(删除)<Condition Action =“hide”>已安装</ Condition>
 741(删除)</ Control>
 -------------------------------------------------- ----------------------
 -------------------------------------------------- ----------------------
 799 <Custom Action =“WindowsFolder_x86_VC.F9D0B380_EB85_31D4_96AC_C6CB40086A55”Sequence =“1”/>
     793 <Custom Action =“WindowsFolder_x86_VC.F9D0B380_EB85_31D4_96AC_C6CB40086A55”Sequence =“2”/>
 -------------------------------------------------- ----------------------
 -------------------------------------------------- ----------------------
 803(删除)<Custom Action =“VS11_CAUpdateConfig”Sequence =“6598”> VS11DEVENV </ Custom>
 804(delete)<Custom Action =“VWD11_CAUpdateConfig”Sequence =“6599”> VWD11EXPRESS </ Custom>
 -------------------------------------------------- ----------------------
 -------------------------------------------------- ----------------------
 830 <InstallFinalize Sequence =“6600”/>
     822 <InstallFinalize Sequence =“6500”/>
 -------------------------------------------------- ----------------------
 -------------------------------------------------- ----------------------
 834 <Custom Action =“SystemFolder_x86_VC.F9D0B380_EB85_31D4_96AC_C6CB40086A55”Sequence =“1”/>
     826 <Custom Action =“SystemFolder_x86_VC.F9D0B380_EB85_31D4_96AC_C6CB40086A55”Sequence =“2”/>
 -------------------------------------------------- ----------------------
 -------------------------------------------------- ----------------------
 860 <Custom Action =“SystemFolder_x86_VC.F9D0B380_EB85_31D4_96AC_C6CB40086A55”Sequence =“3”/>
     852 <Custom Action =“SystemFolder_x86_VC.F9D0B380_EB85_31D4_96AC_C6CB40086A55”Sequence =“4”/>
 -------------------------------------------------- ----------------------
 -------------------------------------------------- ----------------------
 874 <Custom Action =“WindowsFolder_x86_VC.F9D0B380_EB85_31D4_96AC_C6CB40086A55”Sequence =“3”/>
     866 <Custom Action =“WindowsFolder_x86_VC.F9D0B380_EB85_31D4_96AC_C6CB40086A55”Sequence =“4”/>
 -------------------------------------------------- ----------------------
 -------------------------------------------------- ----------------------
 889 <Custom Action =“WindowsFolder_x86_VC.F9D0B380_EB85_31D4_96AC_C6CB40086A55”Sequence =“3”/>
     881 <Custom Action =“WindowsFolder_x86_VC.F9D0B380_EB85_31D4_96AC_C6CB40086A55”Sequence =“4”/>
 -------------------------------------------------- ----------------------
  1. 执行命令"%wix%\bin\candle.exe" TypeScript_CORE.wxs
  2. 执行命令"%wix%\bin\light.exe" -o TypescriptVista TypeScript_CORE.wixobj
  3. 执行命令TypeScriptVista.msi /l* log.txt VS11_EXTENSIONS_DIR="%VSDir%\Extensions\Microsoft" VS11_NEWSCRIPTITEMS_DIR="%VSDir%\NewFileItems" VS11DEVENV="%Devenv%"

configuration文件

现有项目需要将以下元素添加到项目文件的底部。 请注意在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>--> 

杂项

在“ 程序和function”列表中不再显示TypeScript之前,卸载可能需要执行两次。 第一次卸载后,按F5刷新应用程序列表。 卸载后,某些文件可能仍然存在。

TypeScript_CORE.msi中有debugging器path的其他自定义属性。 我假设在这一点上VS 2010不兼容脚本debugging回到不同的源文件。 但是,别人可能希望尝试这个工作。 其他自定义属性名称为:VS11_DEBUGGER_DIR,VS11_DEBUGGER_X64_DIR和VS11_REMOTEDEBUGGER_DIR

还有其他自定义属性可以使用Visual Web Developer或Visual Web Developer Express中的一个或两个进行安装。 我没有能力testing与这些产品的安装。 与此安装相关的TypeScript_CORE.msi文件中的自定义属性为:VWD11_EXTENSIONS_DIR,VWDExpress11和VWD11_NEWSCRIPTITEMS_DIR

function

  • 新的项目types和项目types可用。
  • TextEditor \ TypeScript部分下的工具\选项菜单。
  • 智能感知编辑.ts文件。
  • .js文件是在构build或保存时构build的(当在文本编辑器选项中设置了保存时)。
  • .js文件在解决scheme资源pipe理器中显示为.ts文件的子项,但保存在与.ts文件相同的path中。 (v 0.9.1.1在默认情况下不包括项目中的.js文件)
  • .ts文件不包括在发布时,只是.js文件。
  • .ts文件有自己的图标,并与Visual Studio相关联。

修订logging

  • 更新TypeScript 0.9.1.1版本
  • 更新TypeScript 0.8.3.1版
  • 修复了丢失指令复制0.8.3的MSBUILD目录

截图

项目模板截图编辑器截图Solution Explorer截图TypeScript的选项截图FileIcon截图

遵循Richard Collette的Windows 7指令后 ,安装程序应该会产生以下错误,然后完成:

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

如果这导致任何问题,运行以下命令可能会有所帮助

 "%Devenv%" /Setup