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打包和动态语言部署工具相关推荐

  1. Silverlight 2教程(四):Chiron.exe:Silverlight 2打包和动态语言部署工具

    VS在编译时Silverlight 2的应用程序时,会先将cs等文件进行编译成dll,然后会调用Chiron.exe这个打包工具打包成.xap文件.也可以使用它进行动态语言无打包部署.Chiron.e ...

  2. Silverlight 2学习教程(四)

    VS在编译时Silverlight 2的应用程序时,会先将cs等文件进行编译成dll,然后会调用Chiron.exe这个打包工具打包成.xap文件.也可以使用它进行动态语言无打包部署.Chiron.e ...

  3. Silverlight 2学习笔记一:初识Silverlight

    Silverlight,问世至今已有好一段时日了,向来只是只闻其名,不知其实,今天终于对Silverlight有了点初步的了解. 一.Silverlight是什么? Sliverlight是基于.NE ...

  4. 【OpenCV图像处理入门学习教程四】基于LoG算子的图像边缘检测

    OpenCV图像处理入门学习教程系列,上一篇第三篇:基于SIFT特征和SURF特征的微旋转图像拼接与融合生成全景图像的比较 LoG边缘检测算子 LoG边缘检测算子是David Courtnay Mar ...

  5. oTree学习教程(四)Templates

    模板 您应用的templates/文件夹将包含显示给玩家的HTML模板. 模板语法 变量 您可以显示如下变量: 模板中提供以下变量: player:当前正在查看该页面的玩家 group:当前玩家所属的 ...

  6. Qt学习笔记之——生成exe可执行文件并打包生成安装软件

    之前用MFC生成过安装文件,今天想尝试采用Qt生成的exe文件打包并生成安装软件. 开始我认为比较简单,但是尝试过程中遇到了很多问题.下面一一列出来 首先:我认为,要完成一个软件,应尽可能的使用Rel ...

  7. PyQt5系列教程(四)使用py2exe进行程序打包

    原文出处: https://blog.xugaoxiang.com/python/pyqt5-py2exe.html 软硬件环境 Windows 7 Python 3.4 PyQt5 Py2exe 前 ...

  8. Lua学习教程之 可变參数数据打包与解包

    利用table的pack与unpack进行数据打包与解包.測试代码例如以下: print("Test table.pack()----------------");function ...

  9. mybatis学习(四)连接池、事务、动态SQL、多表查询

    目录 连接池 事务 动态SQL 1.if标签 2.where标签 3.foreach标签 4.sql标签 多表操作 (一)一对多.多对一 .一对一 1.查询所有账户,在账户信息后显示所属的用户的用户名 ...

最新文章

  1. acrh17华硕固件_华硕全新手游路由器RT-AC85P首发:雷达定向传输
  2. Webkit 最新 Javascript 引擎领先 Chrome
  3. Lua中的字符串函数库
  4. 计算机临床医学自动化哪个好,大学专业难度排行前十名,临床医学位列第二
  5. shell脚本(五)——函数的格式、传参、变量、递归、函数库
  6. 处理JUnit中异常的另一种方法:catch-exception
  7. unknown error mysql_mysql执行sql文件报错Error: Unknown storage engine‘InnoDB’的解决方法...
  8. linux强制回收内存,Linu系统cache强制回收
  9. HDFS和Spark配置LZO压缩,Spark读取LZO创建正常Task数量
  10. 中油即时通信电脑版_市场营销之即时通讯营销
  11. 支付宝下调网银贷款利率 未来持续3年将节省500亿
  12. 用mel编写自定义节点的属性编辑器界面
  13. Oracle学习笔记之五sp1,PL/SQL之BULK COLLECT
  14. centos 6.2   为mysql5.6.10安装 HandlerSocket插件
  15. Datawale编程学习之哈希表和字符串(4)
  16. KNX转485模块的开发
  17. XX银行数据中心建设方案
  18. python查看文件大小_python查看文件大小和文件夹内容的方法
  19. rpm的安装与卸载,常用命令记载
  20. iosem.us app install nds.html,夭寿啦!用NDS4iOS无需越狱即可在iOS玩NDS游戏

热门文章

  1. 详细讲解MOSFET管驱动电路(转)
  2. MOSFET类型识别小结
  3. firefox 浏览器证书问题
  4. 二极管选型-二极管参数介绍
  5. EXCEL中矩阵运算
  6. Google Earth Engine(GEE)——利用sentinel-2数据进行农作物提取分析
  7. 天气太冷不想出被窝?来DIY一个离线语音控制器
  8. 踱步狼注释移除,状态机算法更新2019.10.16
  9. ( “树” 之 BST) 109. 有序链表转换二叉搜索树 ——【Leetcode每日一题】
  10. 纪念丹尼斯——C语言之父