如何在Visual Studio 2010中安装TypeScript
这是一个受欢迎的问题,我将提供答案。
TypeScript版本0.9.1.1
Typescript 0.9.5+对Microsoft.VisualStudio.Shell.11.0.dll有依赖性。 因此,这些说明将不再更新。
以下内容仅供教育之用。 请遵守所有的许可和再分配要求。 对于以前版本的TypeScript,请参阅此答案的编辑历史logging。
- closuresVisual Studio
- 安装Wix工具集
- 下载TypeScript for Visual Studio 2012版本0.9.1.1,并将安装程序可执行文件放置在其自己的临时目录中。
- 在临时目录中打开一个命令窗口。
- 执行命令
"%wix%\bin\dark.exe" -x .\TypeScriptSetup TypeScriptSetup.0.9.1.1.exe
- 转到目录。\ TypeScriptSetup \ AttachedContainer \ packages \ TypeScript_CORE
-
执行以下命令
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一个新的安装程序
- 执行命令
"%wix%\bin\dark.exe" -x .\TypeScript_CORE TypeScript_Core.msi
- (可选)将TypeScript_CORE.wxs复制到TypeScript_CORE.wxs.bak(build议)
- 编辑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”/> -------------------------------------------------- ----------------------
- 执行命令
"%wix%\bin\candle.exe" TypeScript_CORE.wxs
- 执行命令
"%wix%\bin\light.exe" -o TypescriptVista TypeScript_CORE.wixobj
- 执行命令
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目录
截图
遵循Richard Collette的Windows 7指令后 ,安装程序应该会产生以下错误,然后完成:
命令行无效。 未知开关:updateConfiguration。 使用:devenv [solutionfile | projectfile | anyfile.ext] [开关]
如果这导致任何问题,运行以下命令可能会有所帮助
"%Devenv%" /Setup