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

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
V
Vulnerabilities – Threatpost
L
LINUX DO - 热门话题
H
Hacker News: Front Page
Hacker News - Newest:
Hacker News - Newest: "LLM"
L
Lohrmann on Cybersecurity
Cisco Talos Blog
Cisco Talos Blog
O
OpenAI News
S
Securelist
Security Latest
Security Latest
T
Threat Research - Cisco Blogs
H
Heimdal Security Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recorded Future
Recorded Future
Microsoft Azure Blog
Microsoft Azure Blog
MyScale Blog
MyScale Blog
Webroot Blog
Webroot Blog
The Hacker News
The Hacker News
Google Online Security Blog
Google Online Security Blog
Latest news
Latest news
N
Netflix TechBlog - Medium
N
News and Events Feed by Topic
D
Docker
D
DataBreaches.Net
A
About on SuperTechFans
T
Tor Project blog
V
V2EX
G
Google Developers Blog
博客园 - Franky
N
News | PayPal Newsroom
T
The Blog of Author Tim Ferriss
I
InfoQ
H
Help Net Security
V2EX - 技术
V2EX - 技术
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Security Affairs
SecWiki News
SecWiki News
The Register - Security
The Register - Security
人人都是产品经理
人人都是产品经理
NISL@THU
NISL@THU
小众软件
小众软件
B
Blog
T
Threatpost
P
Palo Alto Networks Blog
博客园 - 【当耐特】
L
LangChain Blog
AWS News Blog
AWS News Blog
月光博客
月光博客
宝玉的分享
宝玉的分享

博客园 - 圣炎¢天乐

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>