Silverlight发布时的一个简化工具

简介:

XAP包中的配置需要手动改?

这几天到了项目小结测试的时候,需要发布到服务器上测试接口,因此silverlight的发布动作相对比较频繁,由于一些公共的WCF服务和数据库都在公司的数据库服务器上,项目中的服务引用配置文件ServiceReferences.ClientConfig需要经常改动,主要改的是IP地址,当然还有web.config和WCF服务的终结点配置等等,比较难改的是ServiceReferences.ClientConfig,因为这个配置文件是生成到RIA.xap包中的,想修改其中的配置要么在生成前修改,要么在生成后修改RIA.xap为RIA.zip然后解压后修改再压缩,这样修改起来很费时间,于是就写了一个小工具来自动完成这个操作。

写个工具自动修改RIA.xap中的服务引用配置 

 

主要利用一个zip类解压在压缩实现。

主体代码:

string fileName = this.textBox1.Text;
            if (fileName.Contains("RIA.xap")&&this.txtFrom.Text!=""&&this.txtTo.Text!="")
            { 
                string oldString = this.txtFrom.Text;
                string newString = this.txtTo.Text;
                string configFileName = "ServiceReferences.ClientConfig"
                System.IO.File.Move(fileName, fileName.Replace("RIA.xap""RIA.zip"));
                fileName = fileName.Replace("RIA.xap""RIA.zip");
                Zip.UnZipFiles(fileName, fileName.Replace("RIA.zip""result/"));
                System.IO.File.Delete(fileName);
                fileName = fileName.Replace("RIA.zip""result");
                string strAll = System.IO.File.ReadAllText(fileName+"/"+configFileName);
                System.IO.File.Delete(fileName + "/" + configFileName);
                strAll = strAll.Replace(oldString, newString);
                System.IO.File.WriteAllText(fileName + "/" + configFileName, strAll);
                Zip.ZipFiles(fileName.Replace("result""RIA.zip"), fileName);
                System.IO.Directory.Delete(fileName);
                System.IO.File.Move(fileName.Replace("result""RIA.zip"), fileName.Replace("result""RIA.xap"));
                MessageBox.Show("替?换?完ê成é!?");
            }
            else
            
{
                MessageBox.Show("请?选?择?RIA.xap文?件t并¢填?写′需è要a替?换?的?字?符?串?再ù进?行D操ù作÷!?");
            } 

源代码及可执行文件

源代码:http://files.cnblogs.com/wengyuli/RIAZipHelper.rar

可执行文件:http://files.cnblogs.com/wengyuli/Debug.rar


     本文转自wengyuli 51CTO博客,原文链接:http://blog.51cto.com/wengyuli/586719,如需转载请自行联系原作者





相关文章
Silverlight 控件的ToolTip封装工具使用
        在Silverlight项目开发中,控件可以设置鼠标移入时的手势,同样还可以设置ToolTip,利用Silverlight编写代码或者Blend设计工具均可以设置ToolTip...
831 0
Silverlight添加服务引用Service Reference, 出现“自定义工具错误,无法生成服务引用”错误的解决办法
自定义工具错误: 无法生成服务引用“*****”的代码  WCF Service或WebService中包含一些比较复杂的逻辑定义,并且引用了一些自己定义的组件,项目本身是可以编译通过的,但是就是无法被添加Service Reference。
786 0
Silverlight的工具推荐
Silverlight项目侦测软件 - Silverlight Spy http://www.silverlightchina.net/html/works/2009/0712/63.html 发现你感兴趣的Silverlight项目,可以使用Silverlight Spy进行侦测,查看...
624 0
|
Windows
Silverlight的自定义tooltip提示工具条
这种应用场景其实很多,比如游戏中装备/魔法的选择菜单,这里借用了"深蓝色右手"的一张图  再比如聊天室中的文本颜色设置  虽然sl的ToolTipService.
841 0