Visual Studio DSL 入门(三)——创建一个简单的DSL模型
5. 下一步进入到签名设置,在扩展开发中任何需要部署的Package都需要强命名(将会注册到GAC),可以选择自动创建一个Key,也可以选择使用已有的key.
6. 我们选择直接创建强命名key,点击下一步,这是一个设置总结界面:
我们直接能查看到所有的设置信息,可以通过上一步下一步进行更改,也可直接点击左侧的导航来定位更改,确认无误后,点击完成。向导(Wizard)会自动给我们构建项目.我们暂且不管生成的这些项目结构,切换到解决方案资源管理器,点击上面的最后面的按钮“转换所有模板”(Transalte All Template).完成后,点击Debug运行,就会打开Visual Studio实验室环境(Experimental hive),也就是上面的Minimal Language界面,可以大概操作一下了,相当神奇吧,这就完成了第一个DSL项目的开发.同样你也可以选择其它三种模型,效果在上面已经列出来了.
7. 我们再来看一下生成的项目结构,整个解决方案总共有两以下两个项目组成(其它有三个,另外就是运行后的Testing项目,稍后介绍).
Dsl: 根据你的模型数据(DslDefinition.dsl文件)生成的有关模型的操作,包括模型关系,序列化,图形,连接器等
DslPackage: 支撑Dsl能够在Vs.net里运行,以及和Vs.net交互的操作,包括菜单,工具条,游览器等
Dsl项目设置成了针对DslPackage项目的友元程序集(通过AssemblyInfo的InternalsVisibleTo),DslPackage中可以直接访问Dsl中的内部成员,DslPackage其实也是根据DslDefinition.dsl生成的.深入了解这两个项目的结构是非常有必要的,我们会在随后的深入过程中介绍。
8. 查看这两个项目,发现大部分都是由后缀名为tt的文件组成,这就是t4文件(Text Templating Transformation Toolkit),类似于asp,ruby这样的解释性语言,读我们的模型生成cs代码,可以看到每个tt文件都附属了一个cs代码文件.绑定到了每个t4文件可以右键运行自定义工具Run Custom Tool,就会调用TextTemplatingFileGenerator解析t4模板文件生成目标代码,也可以向我们刚才那个点击上面的按钮转换所有的模板文件.
9. 打开Dsl项目中的DslDefinition.dsl文件.(这是通常情况下我们使用的最重要的文件,包括我们的Dsl的所有的模型元素数据,它附属的DslDefinition.dsl.Diagram是它的图形显示文件).
这就是模型设计的主区域,我们来看一下它的组成部分:
1). 工具条,这里包括模型,关系,图形. 这个工具条与.Dsl文件关系。
2). 模型元数据. 这些概念的东西我们在下一切会介绍.
3). 图形展现. 设计模型的展现信息,通过中间的那条线与模型对应起来
4). Dsl Details编辑窗口, 用来编辑Dsl相关的一些信息,比如关系。
5). 解决方案文件夹,注意上面的黄色区域就是”转换所有模板“按钮,点击下面的Dsl Explorer页签,切换到Dsl浏览器.
这里会列出来当前Dsl文件里的模型,模型元素Element,图Shape,类型,连接器Connector,Connection Builders,以通读对模型浏览器,工具条,序列化的设置。我们对Dsl的大部分设计都会在这里完成.
Ok,就到这里,下次将介绍一些基础概念.
转载:http://www.cnblogs.com/lonely7345/archive/2010/01/27/1657139.html
本文链接:http://www.blueidea.com/tech/program/2010/7731.asp
出处:
责任编辑:bluehearts
上一页 Visual Studio DSL 入门(三) [1] 下一页
◎进入论坛网络编程版块参加讨论
|