Silverlight 2学习教程(四):Chiron.exe:Silverlight 2打包和动态语言部署工具
VS在编译时Silverlight 2的应用程序时,会先将cs等文件进行编译成dll,然后会调用Chiron.exe这个打包工具打包成.xap文件。也可以使用它进行动态语言无打包部署。Chiron.exe一般位于C:/Program Files/Microsoft SDKs/Silverlight/v2.0/Tools/Chiron文件夹下,.xap格式的文件其实就是一个zip格式的压缩包,如果将扩展名改为.zip,可以使用解压缩工具进行解压。解压后的文件可以使用Chiron这个工具再进行打包成.xap文件。
例如:将E:/Example1/Mengxianhui/ClientBin/SilverlightApplication1下的文件打包成SilverlightApplication1.xap,命令如下:
Chiron.exe /d: E:/Example1/Mengxianhui/ClientBin/SilverlightApplication1 /x: SilverlightApplication1.xap
对于动态语言,如IronRuby、IronPython和Managed JScript,除了可以进行打包之外,还可以进行直接部署。
例如:有这样的文件夹结构:
E:/SilverLight2Example/Example2/default.htm
E:/SilverLight2Example/Example2/app/app.xaml
E:/SilverLight2Example/Example2/app/app.jsx
其中:
default.htm的内容是:
<!DOCTYPE htmlPUBLIC"-//W3C//DTD XHTML1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>动态Silverlight测试页面</title><style type="text/css">html, body {
height:100%;
overflow: auto;
}
body {
padding:0;
margin:0;
}
#silverlightControlHost {
height:100%;
}</style><script type="text/javascript">functiononSilverlightError(sender, args) {if(args.errorType=="InitializeError") {varerrorDiv=document.getElementById("errorLocation");if(errorDiv!=null)
errorDiv.innerHTML=args.errorType+"-"+args.errorMessage;
}
}</script></head><body><div id='errorLocation'style="font-size: small;color: Gray;"></div><div id="silverlightControlHost"><object data="data:application/x-silverlight," type="application/x-silverlight-2-b1" width="100%" height="100%"><param name="source" value="app.xap"/><param name="onerror" value="onSilverlightError"/><param name="background" value="white"/><param name="initParams" value="debug=true,reportErrors=errorLocation"/><param name="windowless" value="true"/><a href="http://go.microsoft.com/fwlink/?LinkID=108182" style="text-decoration: none;"><img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/></a></object><iframe style='visibility:hidden;height:0;width:0;border:0px'></iframe></div></body></html>
app.xaml:
<UserControlxmlns="http://schemas.microsoft.com/client/2007"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"x:Class="System.Windows.Controls.UserControl"x:Name="Page"Width="400"Height="300"><Gridx:Name="LayoutRoot"Background="White"><CanvasCanvas.Top="20"><TextBlockCanvas.Top="10"Canvas.Left="20">请输入您的姓名:</TextBlock><TextBoxx:Name="UserInput"Width="200"Height="30"Canvas.Top="40"Canvas.Left="20"></TextBox><TextBlockx:Name="Msg"Canvas.Top="90"Canvas.Left="20"Foreground="Navy"FontSize="48"></TextBlock></Canvas></Grid></UserControl>
app.jsx:
Import("System.Windows.Application")
Import("System.Windows.Controls.*")
Import("System.Windows.*")varxaml;functionApp() {
xaml = Application.Current.LoadRootVisual(newUserControl(), "app.xaml")
}
App.prototype.start =function() {//注册事件处理器xaml.UserInput.KeyUp += handler1;
}functionhandler1(sender, args) {
xaml.Msg.Text = "Hello," + xaml.UserInput.Text;
}
app =newApp
app.start()
则先切换到E:/SilverLight2Example/Example2文件夹,然后执行:
E:/SilverLight2Example/Example2>"C:/Program Files/Microsoft SDKs/Silverlight/v2.0/Tools/Chiron/Chiron.exe" /w
Chiron就会启动一个http的Web服务器,将E:/SilverLight2Example/Example2/作为网站的根目录
单击“default.htm”文件
比较奇怪的是:
1,app.xaml里居然不能写<Button></Button>对象,不知道是何原因;
2,输入框不支持中文,汗啊;
3,这个工具不稳定,老是将浏览器搞掉。
Chiron的完整参数列表:
用法: Chiron [<选项>]
通用选项:
/d[irectory]:<path>
指定文件夹(默认是当前文件夹)
/x[ap]:<file>
指定要产生的XAP文件名
没有启动Web服务器,不能与/w或/b组合使用
/n[ologo]
忽略logo的显示
/s[ilent]
忽略所有输出的显示
动态语言选项:
/z[ipdlr]:<file>
与/x相同,但包含动态语言程序所需要的文件
不启动web服务器,不能与/w或者/b同时使用
/w[ebserver][:<port number>]
启动一个web服务器,自动为动态语言应用程序创建XAP文件,端口可选,默认是2060
/b[rowser]
启动系统当前默认的浏览器,并启动Web服务器。
含义与/w相同,但不能与/x或者/z组合使用
/r[efpath]:<path>
指定包含动态语言装配件的文件夹
只拷贝项目中程序语言使用的装配件,默认是Chrion安装目录下的dlr子文件夹
/m[anifest]
将生成的AppManifest.xaml文件保存到磁盘上,使用/d设置包含资源的文件夹,只能与/d、/n和/s组合使用
Silverlight 2学习教程(四):Chiron.exe:Silverlight 2打包和动态语言部署工具相关推荐
- Silverlight 2教程(四):Chiron.exe:Silverlight 2打包和动态语言部署工具
VS在编译时Silverlight 2的应用程序时,会先将cs等文件进行编译成dll,然后会调用Chiron.exe这个打包工具打包成.xap文件.也可以使用它进行动态语言无打包部署.Chiron.e ...
- Silverlight 2学习教程(四)
VS在编译时Silverlight 2的应用程序时,会先将cs等文件进行编译成dll,然后会调用Chiron.exe这个打包工具打包成.xap文件.也可以使用它进行动态语言无打包部署.Chiron.e ...
- Silverlight 2学习笔记一:初识Silverlight
Silverlight,问世至今已有好一段时日了,向来只是只闻其名,不知其实,今天终于对Silverlight有了点初步的了解. 一.Silverlight是什么? Sliverlight是基于.NE ...
- 【OpenCV图像处理入门学习教程四】基于LoG算子的图像边缘检测
OpenCV图像处理入门学习教程系列,上一篇第三篇:基于SIFT特征和SURF特征的微旋转图像拼接与融合生成全景图像的比较 LoG边缘检测算子 LoG边缘检测算子是David Courtnay Mar ...
- oTree学习教程(四)Templates
模板 您应用的templates/文件夹将包含显示给玩家的HTML模板. 模板语法 变量 您可以显示如下变量: 模板中提供以下变量: player:当前正在查看该页面的玩家 group:当前玩家所属的 ...
- Qt学习笔记之——生成exe可执行文件并打包生成安装软件
之前用MFC生成过安装文件,今天想尝试采用Qt生成的exe文件打包并生成安装软件. 开始我认为比较简单,但是尝试过程中遇到了很多问题.下面一一列出来 首先:我认为,要完成一个软件,应尽可能的使用Rel ...
- PyQt5系列教程(四)使用py2exe进行程序打包
原文出处: https://blog.xugaoxiang.com/python/pyqt5-py2exe.html 软硬件环境 Windows 7 Python 3.4 PyQt5 Py2exe 前 ...
- Lua学习教程之 可变參数数据打包与解包
利用table的pack与unpack进行数据打包与解包.測试代码例如以下: print("Test table.pack()----------------");function ...
- mybatis学习(四)连接池、事务、动态SQL、多表查询
目录 连接池 事务 动态SQL 1.if标签 2.where标签 3.foreach标签 4.sql标签 多表操作 (一)一对多.多对一 .一对一 1.查询所有账户,在账户信息后显示所属的用户的用户名 ...
最新文章
- acrh17华硕固件_华硕全新手游路由器RT-AC85P首发:雷达定向传输
- Webkit 最新 Javascript 引擎领先 Chrome
- Lua中的字符串函数库
- 计算机临床医学自动化哪个好,大学专业难度排行前十名,临床医学位列第二
- shell脚本(五)——函数的格式、传参、变量、递归、函数库
- 处理JUnit中异常的另一种方法:catch-exception
- unknown error mysql_mysql执行sql文件报错Error: Unknown storage engine‘InnoDB’的解决方法...
- linux强制回收内存,Linu系统cache强制回收
- HDFS和Spark配置LZO压缩,Spark读取LZO创建正常Task数量
- 中油即时通信电脑版_市场营销之即时通讯营销
- 支付宝下调网银贷款利率 未来持续3年将节省500亿
- 用mel编写自定义节点的属性编辑器界面
- Oracle学习笔记之五sp1,PL/SQL之BULK COLLECT
- centos 6.2 为mysql5.6.10安装 HandlerSocket插件
- Datawale编程学习之哈希表和字符串(4)
- KNX转485模块的开发
- XX银行数据中心建设方案
- python查看文件大小_python查看文件大小和文件夹内容的方法
- rpm的安装与卸载,常用命令记载
- iosem.us app install nds.html,夭寿啦!用NDS4iOS无需越狱即可在iOS玩NDS游戏