一切福田,不離方寸,從心而覓,感無不通。

VS2017多项目模板

解决方案:

其中一个解决方案:

 

龙生   02 Jun 2018
View Details

模板参数

若要了解有关 Visual Studio 2017 RC 的最新文档,请参阅 Visual Studio 2017 RC 文档。 在对模板进行实例化时,您可以通过模板的参数,替换模板的关键部分的值,如类名和命名空间。 当用户在“新建项目”或“添加新项”对话框中单击“确定”时,这些参数将由后台运行的模板向导替换。 声明和启用模板参数 模板参数以 $parameter$ 格式进行声明。 例如: $safeprojectname$ $guid1$ $guid5$ 启用模板中的参数替换 在模板的 .vstemplate 文件中,定位到与要为其启用参数替换的项对应的 ProjectItem 元素。 将 ProjectItem 元素的 ReplaceParameters 特性设置为 true。 在项目项的代码文件中,在合适的位置包括参数。 例如,下面的参数指定用于文件中的命名空间的安全项目名称:

保留的模板参数 下表列出了可供所有模板使用的保留的模板参数。  说明 模板参数区分大小写。 Parameter 描述 clrversion 公共语言运行时 (CLR) 的当前版本。 GUID [1-10] 用于替换项目文件中的项目 GUID 的 GUID。 最多可以指定 10 个唯一的 GUID(例如,guid1))。 itemname 用户在添加新项对话框中提供的名称。 machinename 当前的计算机名称(例如,Computer01)。 projectname 用户在新建项目对话框中提供的名称。 registeredorganization HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization 中的注册表项值。 rootnamespace 当前项目的根命名空间。 此参数仅适用于项目模板。 safeitemname 用户在“添加新项”对话框中提供的名称,名称中移除了所有不安全的字符和空格。 safeprojectname 用户在“新建项目”对话框中提供的名称,名称中移除了所有不安全的字符和空格。 time 以 DD/MM/YYYY 00:00:00 格式表示的当前时间。 SpecificSolutionName 解决方案的名称。 当“创建解决方案的目录”被选中,SpecificSolutionName 具有解决方案的名称。 当“创建解决方案的目录”没有被选中,SpecificSolutionName是空。 userdomain 当前的用户域。 username 当前的用户名。 webnamespace 当前网站的名称。 在 Web 窗体模板中使用此参数以确保类名称是唯一的。 如果网站位于 Web 服务器的根目录下,则此模板参数将解析为 Web 服务器的根目录。 […]

龙生   02 Jun 2018
View Details

ProjectTemplateLink 元素(Visual Studio 模板)

若要了解有关 Visual Studio 2017 RC 的最新文档,请参阅 Visual Studio 2017 RC 文档。 指定多项目模板中一个项目的 .vstemplate 文件的路径。   语法

特性和元素 以下各部分描述了特性、子元素和父元素。 特性 特性 描述 ProjectName 可选特性。 指定多项目模板中每一个项目的名称。 新项目对话框中不能向单个项目分配名称。 CopyParameters 使主要组模板中的所有变量可复制到每个链接模板。 链接模板中的参数具有前缀 "$ext_*$"。 例如,如果在父组模板参数$projectname$具有值exampleproject1 则轮到,当模板链接获取又要执行,它将获取参数$ext_projectname$,这是一份$projectname$父组模板中的参数。 这使链接模板能够共享一些只能在父组模板中方便地创建的公用参数。 此特性为可选特性,未包含此特性时,它将自动默认为 false。 在 Visual Studio 2013 Update 2 中引入。 若要引用正确的产品版本,请参阅引用程序集提供的 Visual Studio 2013 SDK Update 2。 父元素 元素 描述 ProjectCollection 指定多项目模板的组织和内容。 SolutionFolder 对多项目模板中的项目进行分组。   文本值 需要一个文本值。 此文本指定模板的 .vstemplate 文件的路径。     多项目模板用作两个或多个项目的容器。 ProjectTemplateLink 元素用于指定模板中一个项目的 .vstemplate 文件的位置。 对于多项目模板中的每个项目,此模板的 .vstemplate 文件中都含有一个对应的 ProjectTemplateLink 元素。 有关多项目模板的详细信息,请参阅如何︰ 创建多项目模板。   此示例演示一个简单的多项目 .vstemplate 根文件。 在此示例中,模板包含两个项目:My Windows Application 和 My Class Library。ProjectName 元素的 ProjectTemplateLink 特性可为 Visual Studio 设置要分配给此项目的名称。 如果不存在 ProjectName 特性,则会使用 .vstemplate 文件的名称作为项目名称。

  from:https://msdn.microsoft.com/zh-cn/library/ms171398.aspx

龙生   02 Jun 2018
View Details

vs多项目模板及add-in开发

本文分2部分 第一为自定义多项目模板 第二为vs add-in开发 效果图 1.自定义模板 2. 工具菜单 3.窗口 4.工程 5.文件 …     一. 多项目模板 单项目模板做起来很简单 选中一个项目在文件一栏中选中导出模板 然后选择项目模板 在最后一项向导会给出你的输出路径,一般都是系统的用户文档路径+\Visual Studio 2010\My Exported Templates 在对应目录下会生成你对应的项目模板压缩包 我们生成2个项目的模板文件 然后做一个多项目模板 我们解压2个模板文件并且放进一个新建的名称为MaoyaTemplates的文件夹 剪切到Visual Studio 2010\Templates\ProjectTemplates路径下 新建模板文件MyTemplate.vstemplate 根据要定义的模板内容 修改文件 然后将整个文件夹压缩成zip文件即可 在TemplateData可以定义一些自己需要的信息 例如icon定义你的模板图标 把图标文件放在相对路径即可 然后重新打开vs 即可看到刚才作成的模板 打开以后就是定义的2个demo工程 相当简单 这样就不用每次来新项目都去copy代码了 二 vs插件 概念性的东西可以参考 http://msdn.microsoft.com/zh-cn/library/bb384200.aspx vs插件可以帮助或者优化你在vs开发过程的大部分窗口 它可以针对文件 针对项目 针对窗口 甚至针对不同的后缀做不同的处理 下面图文+代码介绍开发步骤(vs2010) 选择插件项目 进入向导根据自己的场景选择即可 中间向导过程略过 最后一步 完成向导后 默认工程框架如下 最关键的就是connect.cs文件 Connect 继承了2个类 IDTExtensibility2, IDTCommandTarget IDTExtensibility2 包含在实现接口时用作事件的方法。 每当发生影响某个外接程序的事件时(如加载或卸载该外接程序时)以及对该外接程序进行任何更改时,Visual Studio 都会调用这些方法。 IDTCommandTarget 接口使开发者得以在环境中实现命名命令。 并且以定义命令状态或执行命令。 每个方法的描述 中文版可以参考msdn http://msdn.microsoft.com/zh-cn/library/extensibility.idtextensibility2.aspx http://msdn.microsoft.com/zh-cn/library/envdte.idtcommandtarget.aspx 其中我们作为入门开发 需要关注得的是 OnConnection 为IDTExtensibility2的 main 方法,这是因为每次加载外接程序时都会调用该方法。 该方法为外接程序在加载时的入口点,因此可以将要在外接程序启动时运行的任何代码放置在此处(或调用任何其他函数)。 1 2 3 4 5 6 void OnConnection(     Object Application,     ext_ConnectMode ConnectMode,     Object […]

龙生   02 Jun 2018
View Details