欢迎来到手机德州app|德州扑克第一门户!
服务热线:022-26928120

联系我们

网址:http://www.ywsale.com/
电话:022-26928120
地址:天津市北辰区小淀镇小淀村工业区二号路
VS2010实战:创建并共享项目项模板 发布时间:2020-06-08 01:11 

  】在Visual Studio 2010中,可以直接在新建项目对话框中查找和使用共享的项目和项模板,要上传到Visual Studio Gallery实现联机共享或是直接在组织内与其他人共享模板,必须将共享代码放在VSIX文件中,本文将介绍两种创建包含共享代码模板VSIX文件的方法(一个快速简单,另一个则更复杂)。

  Visual Studio Gallery 网站上提供了新的“导出模板为VSIX向导”工具,你可以直接去网站下载,也可以通过扩展管理器对话框下载,安装好后,你会发现在Visual Studio 2010的“文件”菜单下多了一项“导出模板为VSIX”,点击它打开向导对线所示,你可以在向导中对模板和VSIX文件做一些配置,通过它你可以将现有项目转换成一个包含模板的VSIX文件。

  虽然快速方法是与他人共享项目模板的理想方法,但它不适合所有情况,例如,你可能想结合VSPackage或编辑器扩展创建一系列模板,但如果你经常要修改这些模板怎么办?如果你想在版本控制系统中保留模板的源代码该怎么办?如果你想自定义模板或VSIX容器,不使用导出模板为VSIX向导产生的结果时该怎么办?

  这时我们就需要请出Visual Studio SDK来帮忙了,在“新建项目”对话框中,展开“Visual C#”或“Visual Basic”节点,再选择“Extensibility(扩展)”,你会看到两个新的模板(一个项目模板,一个项模板),如图2所示,下面我们就使用Visual Studio SDK中新的模板创建和打包一个C#项目模板。

  首先,我们创建一个项目模板项目,为单个模板生成一个zip文件,然后再创建一个VSIX项目,包含并部署签名生成的项目模板。

  1、打开“新建项目”对话框,从“扩展”类别中选择创建一个新的“C#项目模板”,取名为“MyTemplate”,在生成这个项目时有几件事需要注意:

   zip包中包括的文件在构建时通过读取.vstemplate文件发现,这个文件中没有具体指定的任何文件都不会包括在模板zip文件中。

  2、构建项目。注意创建的zip文件位于项目输出文件夹的一个子目录中(在我们的例子中,模板构建到ProjectTemplates\CSharp\1033\MyTemplate.zip),输出文件夹的子目录是在构建时由几个因素共同确定的:

   路径中的“语言”部分(在我们的例子是CSharp)是由.vstemplate文件的节点确定的。

   下一个子路径部分是可选的(默认为空),即OutputSubPath,它决定了新建项目对话框中放置模板的位置(如Windows,Web Silverlight),因为我们构建模板的目标是Windows,因此我们需要在MyTemplate.csproj文件中指定这个额外的元数据块,在项目节点上点击右键,选择“卸载项目”,然后再次在项目节点上点击右键,选择“编辑MyTemplate.csproj”编辑这个文件,增加下面两行代码。

   最后,zip文件的名字使用的是新建项目对话框中指定的项目名字。

  3、我们刚刚创建的项目仅仅构建了一个zip文件,并未构建VSIX文件,也没有构建在Visual Studio中调试的模板,要做到这一点,需要在你的解决方案中增加一个新的VSIX项目,在我们的例子中,新增加的VSIX项目名叫“MyTemplateSetup”(你也可以在“新建项目”对话框的“扩展”节点下看到“VSIX项目” 模板)。

  4、VSIX项目创建好后,你应该看到编辑器打开了source.extension.vsix文件,点击“添加内容”按钮,指定前面1-2步创建的模板文件,如图3所示。

   对于源,选择“项目”,然后选择“MyTemplate”项目。

  8、在Visual Studio中显示新建项目对话框,检查你的模板是否出现在“Visual C# \ Windows”节点下,如果存在则表明你成功创建了项目模板,并实现了共享。

  如果你要构建一套模板集,你可以重复上面的步骤,将所有模板包括在一个VSIX文件中(跳过步骤3)。这个方法虽然比“导出模板为VSIX向导”要复杂得多,但它除了沿用VSIX格式构建和交付模板外,还取得了模板源文件的控制权,无疑更加灵活。此外,本文介绍的两个方法同样适用于创建和共享项模板。



客服热线:022-26928120

地址:天津市北辰区小淀镇小淀村工业区二号路
Copyright ©2020 手机德州app|德州扑克第一门户 版权所有
网站地图