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的内容是:
< 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" >
function onSilverlightError(sender, args) {
if (args.errorType == "InitializeError") {
var errordiv = 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:
< UserControl xmlns ="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" >
< GrID x:name ="LayoutRoot" Background ="White" >
< Canvas Canvas.top ="20" >
< TextBlock Canvas.top ="10" Canvas.left ="20" > 请输入您的姓名: </ TextBlock >
< TextBox x:name ="Userinput" WIDth ="200" Height ="30" Canvas.top ="40" Canvas.left ="20" ></ TextBox >
< TextBlock x: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.* " )
var xaml;
function App() {
xaml = Application.Current.LoadRootVisual( new UserControl(), " app.xaml " )
}
App.prototype.start = function () {
// 注册事件处理器
xaml.Userinput.KeyUp += handler1;
}
function handler1(sender, args) {
xaml.Msg.Text = " Hello, " + xaml.Userinput.Text;
}
app = new App
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打包和动态语言部署工具所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)