惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
P
Proofpoint News Feed
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
C
Check Point Blog
Microsoft Azure Blog
Microsoft Azure Blog
aimingoo的专栏
aimingoo的专栏
月光博客
月光博客
美团技术团队
D
Docker
博客园 - Franky
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - 圣炎¢天乐

Eds 公司 武汉 2008.2招聘 EDS 公司专用英文简历模板 GAT&GAX群 (转)聚簇索引与非聚簇索引的区别以及SQL Server查询优化技术 GAT & GAX 简介 技巧/诀窍:在ASP.NET中重写URL 微软发布WF教程及大量示例 Web Service Software Factory SEO课程笔记(二) SEO课程笔记 InfoPath 2007 的一些开发资源 WPF的最新开发资料和文档 关于WPF的外观设计 - 圣炎¢天乐 - 博客园 WPF数据绑定 Page Controller (页面控制器)和Front Controller(前端控制器) MVC设计模式 编写自定义 HTTP 模块 关于.net中访问InfoPath 2007 的权限配置???? ADO.NET性能改善方法集合
如何写自己的Guidance Packages(一)
圣炎¢天乐 · 2007-06-02 · via 博客园 - 圣炎¢天乐

开发一个guidance package的步骤如下:

  • 定义 recipes ,包括定义参数(arguments), 向导页面(wizards) 和 所执行的操作(actions)
  • 定义 Visual Studio 模板文件(Template)。
  • 设计 actions 。
  • 书写参数类型编辑器和转换器,即editors 和 converters 。
  • 定义 T4 模板 (如果一个 action 需要使用 T4 template 生成代码) 。
  • 测试 package。
  • 绑定 package 安装文件。

一个guidance package 包含下面的部分或者全部的文件:

  • Guidance package 配置文件(是一个XML文档,必须)
  • Visual Studio 模板文件(可使用VS自动生成,然后对生成的模板再做稍微更改即可)
  • T4 模板(以.T4结尾,用于生成代码)
  • 一些DLL文件,包括 actions, type editors, value providers和type converters (建议使用单一的DLL)

以下是一份Guidance package 配置文件,其中有注释:

<?xml version="1.0" encoding="utf-8" ?>
<GuidancePackage xmlns="http://schemas.microsoft.com/pag/gax-core"
    Name
="这里是Guidance package的名字" 
    Caption
="这里是标题"
    Description
="这里是描述"
    Guid
="51FCD4D0-B90C-4f11-B868-E9D71D8B7746" 
        BindingRecipe
="BindingRecipe"
    SchemaVersion
="1.0">
    
<Recipes>
        
<Recipe Name="这里是Recipe 名" Bound="是否有限制可以是true或false" Recurrent="执行后是否重新呈现,可以是true或者false">
            
<Caption>这里是Recipe 标题</Caption>
            
<Description>这里是Recipe 的描述.</Description>
            
<HostData>
                
<Icon ID="1046"/>
                
<CommandBar Name="这里是该Recipe 可以绑定的位置,可供选择的有Solution,Solution Folder,Solution Add,Solution Folder Add,Project,Project Add,Folder,Item,Web Project,Web Item,Web Folder"/>
            
</HostData>         

<GatheringServiceData>
            
<Wizard xmlns="http://schemas.microsoft.com/pag/gax-wizards" SchemaVersion="1.0">
                
<Pages>
                    
<Page>
                        
<Title>这里是Page的标题</Title>
                        
<LinkTitle>这里是收集参数的向导页面的左侧显示的标题</LinkTitle>
                        
<Fields>
                            
<Field ValueName="参数名" Label="显示名"  
                                InvalidValueMessage
="无效输入时显示的信息.">
                                
<Tooltip>提示信息</Tooltip>
                            
</Field>                           

                        
</Fields>
                    
</Page>

                
</Pages>
            
</Wizard>
        
</GatheringServiceData>

<Actions>
                
<Action 
                    
Name="Action名" 
                    Type
="HoLPackage.Actions.HelloWorldAction, HoLPackage" />
            
</Actions>
        
</Recipe>

</Recipes>
</GuidancePackage>