<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_AutoCAD.NET-吴锋</title><subtitle type="text">AutoCAD，ObjectARX 技术交流</subtitle><id>http://feed.cnblogs.com/blog/u/20791/rss</id><updated>2012-02-06T07:50:07Z</updated><author><name>无锋不起浪</name><uri>http://www.cnblogs.com/wf225/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wf225/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/20791/rss"/><entry><id>http://www.cnblogs.com/wf225/archive/2012/02/06/2340285.html</id><title type="text">jQuery 语法总结和注意事项</title><summary type="text">1、关于页面元素的引用通过jquery的$()引用元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等方法，且返回的对象为jquery对象（集合对象），不能直接调用dom定义的方法。2、jQuery对象与dom对象的转换只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的，调用方法时要注意操作的是dom对象还是jquery对象。普通的dom对象一般可以通过$()转换成jquery对象。如：$(document.getElementById(&amp;quot;msg&amp;quot;))则为jquery对象，可以使用jquery的方法。</summary><published>2012-02-06T07:50:00Z</published><updated>2012-02-06T07:50:00Z</updated><author><name>无锋不起浪</name><uri>http://www.cnblogs.com/wf225/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wf225/archive/2012/02/06/2340285.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wf225/archive/2012/02/06/2340285.html"/><content type="html">&lt;span  style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 21px; "&gt;&lt;span style="word-break: break-all; line-height: normal; color: red; "&gt;1、关于页面元素的引用&lt;/span&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;通过jquery的$()引用元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等方法，且返回的对象为jquery对象（集合对象），不能直接调用dom定义的方法。&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;span style="word-break: break-all; line-height: normal; color: red; "&gt;2、jQuery对象与dom对象的转换&lt;/span&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的，调用方法时要注意操作的是dom对象还是jquery对象。&lt;br style="word-break: break-all; line-height: normal; " /&gt;普通的dom对象一般可以通过$()转换成jquery对象。&lt;br style="word-break: break-all; line-height: normal; " /&gt;如：$(document.getElementById("msg"))则为jquery对象，可以使用jquery的方法。&lt;br style="word-break: break-all; line-height: normal; " /&gt;由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项，一般可通过索引取出。&lt;br style="word-break: break-all; line-height: normal; " /&gt;如：$("#msg")[0]，$("div").eq(1)[0]，$("div").get()[1]，$("td")[5]这些都是dom对象，可以使用dom中的方法，但不能再使用Jquery的方法。&lt;br style="word-break: break-all; line-height: normal; " /&gt;以下几种写法都是正确的：&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").html();&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg")[0].innerHTML;&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").eq(0)[0].innerHTML;&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").get(0).innerHTML;&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;span style="word-break: break-all; line-height: normal; color: red; "&gt;3、如何获取jQuery集合的某一项&lt;/span&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;对于获取的元素集合，获取其中的某一项（通过索引指定）可以使用&lt;span style="word-break: break-all; line-height: normal; color: blue; "&gt;eq&lt;/span&gt;或&lt;span style="word-break: break-all; line-height: normal; color: blue; "&gt;get(n)&lt;/span&gt;方法或者索引号获取，&lt;span style="word-break: break-all; line-height: normal; color: orange; "&gt;要注意，eq返回的是jquery对象，而get(n)和索引返回的是dom元素对象&lt;/span&gt;。对于jquery对象只能使用jquery的方法，而dom对象只能使用dom的方法，如要获取第三个&amp;lt;div&amp;gt;元素的内容。有如下两种方法：&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("div").eq(2).html();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //调用jquery对象的方法&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("div").get(2).innerHTML;&amp;nbsp;&amp;nbsp; //调用dom的方法属性&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;span style="word-break: break-all; line-height: normal; color: red; "&gt;4、同一函数实现set和get&lt;/span&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;Jquery中的很多方法都是如此，主要包括如下几个：&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").html();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //返回id为msg的元素节点的html内容。&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").html("&amp;lt;b&amp;gt;new content&amp;lt;/b&amp;gt;");&amp;nbsp;&amp;nbsp;&lt;br style="word-break: break-all; line-height: normal; " /&gt;//将&amp;#8220;&amp;lt;b&amp;gt;new content&amp;lt;/b&amp;gt;&amp;#8221; 作为html串写入id为msg的元素节点内容中,页面显示粗体的new content&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").text();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //返回id为msg的元素节点的文本内容。&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").text("&amp;lt;b&amp;gt;new content&amp;lt;/b&amp;gt;");&amp;nbsp;&amp;nbsp;&lt;br style="word-break: break-all; line-height: normal; " /&gt;//将&amp;#8220;&amp;lt;b&amp;gt;new content&amp;lt;/b&amp;gt;&amp;#8221; 作为普通文本串写入id为msg的元素节点内容中,页面显示&amp;lt;b&amp;gt;new content&amp;lt;/b&amp;gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").height();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //返回id为msg的元素的高度&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").height("300");&amp;nbsp;&amp;nbsp; //将id为msg的元素的高度设为300&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").width();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //返回id为msg的元素的宽度&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").width("300");&amp;nbsp;&amp;nbsp; //将id为msg的元素的宽度设为300&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("input").val(");&amp;nbsp;&amp;nbsp; //返回表单输入框的value值&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("input").val("test");&amp;nbsp;&amp;nbsp; //将表单输入框的value值设为test&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").click();&amp;nbsp;&amp;nbsp; //触发id为msg的元素的单击事件&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").click(fn);&amp;nbsp;&amp;nbsp; //为id为msg的元素单击事件添加函数&lt;br style="word-break: break-all; line-height: normal; " /&gt;同样blur,focus,select,submit事件都可以有着两种调用方法&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;span style="word-break: break-all; line-height: normal; color: red; "&gt;5、集合处理功能&lt;/span&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;对于jquery返回的集合内容无需我们自己循环遍历并对每个对象分别做处理，jquery已经为我们提供的很方便的方法进行集合的处理。&lt;br style="word-break: break-all; line-height: normal; " /&gt;包括两种形式：&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("p").each(function(i){this.style.color=['#f00','#0f0','#00f'][i]})&amp;nbsp;&amp;nbsp;&lt;br style="word-break: break-all; line-height: normal; " /&gt;//为索引分别为0，1，2的p元素分别设定不同的字体颜色。&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("tr").each(function(i){this.style.backgroundColor=['#ccc','#fff'][i%2]})&amp;nbsp;&amp;nbsp;&lt;br style="word-break: break-all; line-height: normal; " /&gt;//实现表格的隔行换色效果&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("p").click(function(){alert($(this).html())})&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="word-break: break-all; line-height: normal; " /&gt;//为每个p元素增加了click事件，单击某个p元素则弹出其内容&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;span style="word-break: break-all; line-height: normal; color: red; "&gt;6、扩展我们需要的功能&lt;/span&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;$.extend({&lt;br style="word-break: break-all; line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; min: function(a, b){return a &amp;lt; b?a:b; },&lt;br style="word-break: break-all; line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; max: function(a, b){return a &amp;gt; b?a:b; }&lt;br style="word-break: break-all; line-height: normal; " /&gt;});&amp;nbsp;&amp;nbsp; //为jquery扩展了min,max两个方法&lt;br style="word-break: break-all; line-height: normal; " /&gt;使用扩展的方法（通过&amp;#8220;$.方法名&amp;#8221;调用）：&lt;br style="word-break: break-all; line-height: normal; " /&gt;alert("a=10,b=20,max="+$.max(10,20)+",min="+$.min(10,20));&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;span style="word-break: break-all; line-height: normal; color: red; "&gt;7、支持方法的连写&lt;/span&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;所谓连写，即可以对一个jquery对象连续调用各种不同的方法。&lt;br style="word-break: break-all; line-height: normal; " /&gt;例如：&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("p").click(function(){alert($(this).html())})&lt;br style="word-break: break-all; line-height: normal; " /&gt;.mouseover(function(){alert('mouse over event')})&lt;br style="word-break: break-all; line-height: normal; " /&gt;.each(function(i){this.style.color=['#f00','#0f0','#00f'][i]});&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;span style="word-break: break-all; line-height: normal; color: red; "&gt;8、操作元素的样式&lt;/span&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;主要包括以下几种方式：&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").css("background");&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //返回元素的背景颜色&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").css("background","#ccc")&amp;nbsp;&amp;nbsp; //设定元素背景为灰色&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").height(300); $("#msg").width("200");&amp;nbsp;&amp;nbsp; //设定宽高&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").css({ color: "red", background: "blue" });//以名值对的形式设定样式&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").addClass("select");&amp;nbsp;&amp;nbsp; //为元素增加名称为select的class&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").removeClass("select");&amp;nbsp;&amp;nbsp; //删除元素名称为select的class&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").toggleClass("select");&amp;nbsp;&amp;nbsp; //如果存在（不存在）就删除（添加）名称为select的class&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;span style="word-break: break-all; line-height: normal; color: red; "&gt;9、完善的事件处理功能&lt;/span&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;Jquery已经为我们提供了各种事件处理方法，我们无需在html元素上直接写事件，而可以直接为通过jquery获取的对象添加事件。&lt;br style="word-break: break-all; line-height: normal; " /&gt;如：&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("#msg").click(function(){alert("good")})&amp;nbsp;&amp;nbsp; //为元素添加了单击事件&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("p").click(function(i){this.style.color=['#f00','#0f0','#00f'][i]})&lt;br style="word-break: break-all; line-height: normal; " /&gt;//为三个不同的p元素单击事件分别设定不同的处理&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;strong style="word-break: break-all; line-height: normal; "&gt;jQuery中几个自定义的事件：&lt;/strong&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;（1）&lt;span style="word-break: break-all; line-height: normal; color: blue; "&gt;hover(fn1,fn2)：&lt;/span&gt;一个模仿悬停事件（鼠标移动到一个对象上面及移出这个对象）的方法。当鼠标移动到一个匹配的元素上面时，会触发指定的第一个函数。当鼠标移出这个元素时，会触发指定的第二个函数。&lt;br style="word-break: break-all; line-height: normal; " /&gt;//当鼠标放在表格的某行上时将class置为over，离开时置为out。&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("tr").hover(function(){&lt;br style="word-break: break-all; line-height: normal; " /&gt;$(this).addClass("over");&lt;br style="word-break: break-all; line-height: normal; " /&gt;},&lt;br style="word-break: break-all; line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; function(){&lt;br style="word-break: break-all; line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; $(this).addClass("out");&lt;br style="word-break: break-all; line-height: normal; " /&gt;});&lt;br style="word-break: break-all; line-height: normal; " /&gt;（2）&lt;span style="word-break: break-all; line-height: normal; color: blue; "&gt;ready(fn):&lt;/span&gt;当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。&lt;br style="word-break: break-all; line-height: normal; " /&gt;$(document).ready(function(){alert("Load Success")})&lt;br style="word-break: break-all; line-height: normal; " /&gt;//页面加载完毕提示&amp;#8220;Load Success&amp;#8221;,相当于onload事件。与$(fn)等价&lt;br style="word-break: break-all; line-height: normal; " /&gt;（3）&lt;span style="word-break: break-all; line-height: normal; color: blue; "&gt;toggle(evenFn,oddFn):&lt;/span&gt;每次点击时切换要调用的函数。如果点击了一个匹配的元素，则触发指定的第一个函数，当再次点击同一元素时，则触发指定的第二个函数。随后的每次点击都重复对这两个函数的轮番调用。&lt;br style="word-break: break-all; line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; //每次点击时轮换添加和删除名为selected的class。&lt;br style="word-break: break-all; line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; $("p").toggle(function(){&lt;br style="word-break: break-all; line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(this).addClass("selected");&amp;nbsp;&amp;nbsp;&lt;br style="word-break: break-all; line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; },function(){&lt;br style="word-break: break-all; line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(this).removeClass("selected");&lt;br style="word-break: break-all; line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; });&lt;br style="word-break: break-all; line-height: normal; " /&gt;（4）&lt;span style="word-break: break-all; line-height: normal; color: blue; "&gt;trigger(eventtype):&lt;/span&gt;在每一个匹配的元素上触发某类事件。&lt;br style="word-break: break-all; line-height: normal; " /&gt;例如：&lt;br style="word-break: break-all; line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; $("p").trigger("click");&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //触发所有p元素的click事件&lt;br style="word-break: break-all; line-height: normal; " /&gt;（5）&lt;span style="word-break: break-all; line-height: normal; color: blue; "&gt;bind(eventtype,fn)，unbind(eventtype):&lt;/span&gt;事件的绑定与反绑定&lt;br style="word-break: break-all; line-height: normal; " /&gt;从每一个匹配的元素中（添加）删除绑定的事件。&lt;br style="word-break: break-all; line-height: normal; " /&gt;例如：&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("p").bind("click", function(){alert($(this).text());});&amp;nbsp;&amp;nbsp; //为每个p元素添加单击事件&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("p").unbind();&amp;nbsp;&amp;nbsp; //删除所有p元素上的所有事件&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("p").unbind("click")&amp;nbsp;&amp;nbsp; //删除所有p元素上的单击事件&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;span style="word-break: break-all; line-height: normal; color: red; "&gt;10、几个实用特效功能&lt;/span&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;其中toggle()和slidetoggle()方法提供了状态切换功能。&lt;br style="word-break: break-all; line-height: normal; " /&gt;如toggle()方法包括了hide()和show()方法。&lt;br style="word-break: break-all; line-height: normal; " /&gt;slideToggle()方法包括了slideDown()和slideUp方法。&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;span style="word-break: break-all; line-height: normal; color: red; "&gt;11、几个有用的jQuery方法&lt;/span&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;span style="word-break: break-all; line-height: normal; color: blue; "&gt;$.browser.浏览器类型：&lt;/span&gt;检测浏览器类型。有效参数：safari, opera, msie, mozilla。如检测是否ie：$.browser.isie，是ie浏览器则返回true。&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;span style="word-break: break-all; line-height: normal; color: blue; "&gt;$.each(obj, fn)：&lt;/span&gt;通用的迭代函数。可用于近似地迭代对象和数组（代替循环）。&lt;br style="word-break: break-all; line-height: normal; " /&gt;如&lt;br style="word-break: break-all; line-height: normal; " /&gt;$.each( [0,1,2], function(i, n){ alert( "Item #" + i + ": " + n ); });&lt;br style="word-break: break-all; line-height: normal; " /&gt;等价于：&lt;br style="word-break: break-all; line-height: normal; " /&gt;var tempArr=[0,1,2];&lt;br style="word-break: break-all; line-height: normal; " /&gt;for(var i=0;i&amp;lt;tempArr.length;i++){&lt;br style="word-break: break-all; line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp; alert("Item #"+i+": "+tempArr[i]);&lt;br style="word-break: break-all; line-height: normal; " /&gt;}&lt;br style="word-break: break-all; line-height: normal; " /&gt;也可以处理json数据，如&lt;br style="word-break: break-all; line-height: normal; " /&gt;$.each( { name: "John", lang: "JS" }, function(i, n){ alert( "Name: " + i + ", Value: " + n ); });&lt;br style="word-break: break-all; line-height: normal; " /&gt;结果为：&lt;br style="word-break: break-all; line-height: normal; " /&gt;Name:name, Value:John&lt;br style="word-break: break-all; line-height: normal; " /&gt;Name:lang, Value:JS&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;span style="word-break: break-all; line-height: normal; color: blue; "&gt;$.extend(target,prop1,propN)：&lt;/span&gt;用一个或多个其他对象来扩展一个对象，返回这个被扩展的对象。这是jquery实现的继承方式。&lt;br style="word-break: break-all; line-height: normal; " /&gt;如：&lt;br style="word-break: break-all; line-height: normal; " /&gt;$.extend(settings, options);&amp;nbsp;&amp;nbsp;&lt;br style="word-break: break-all; line-height: normal; " /&gt;//合并settings和options，并将合并结果返回settings中，相当于options继承setting并将继承结果保存在setting中。&lt;br style="word-break: break-all; line-height: normal; " /&gt;var settings = $.extend({}, defaults, options);&lt;br style="word-break: break-all; line-height: normal; " /&gt;//合并defaults和options，并将合并结果返回到setting中而不覆盖default内容。&lt;br style="word-break: break-all; line-height: normal; " /&gt;可以有多个参数（合并多项并返回）&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;span style="word-break: break-all; line-height: normal; color: blue; "&gt;$.map(array, fn)：&lt;/span&gt;数组映射。把一个数组中的项目(处理转换后)保存到到另一个新数组中，并返回生成的新数组。&lt;br style="word-break: break-all; line-height: normal; " /&gt;如：&lt;br style="word-break: break-all; line-height: normal; " /&gt;var tempArr=$.map( [0,1,2], function(i){ return i + 4; });&lt;br style="word-break: break-all; line-height: normal; " /&gt;tempArr内容为：[4,5,6]&lt;br style="word-break: break-all; line-height: normal; " /&gt;var tempArr=$.map( [0,1,2], function(i){ return i &amp;gt; 0 ? i + 1 : null; });&lt;br style="word-break: break-all; line-height: normal; " /&gt;tempArr内容为：[2,3]&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;span style="word-break: break-all; line-height: normal; color: blue; "&gt;$.merge(arr1,arr2):&lt;/span&gt;合并两个数组并删除其中重复的项目。&lt;br style="word-break: break-all; line-height: normal; " /&gt;如：$.merge( [0,1,2], [2,3,4] )&amp;nbsp;&amp;nbsp; //返回[0,1,2,3,4]&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;span style="word-break: break-all; line-height: normal; color: blue; "&gt;$.trim(str)：&lt;/span&gt;删除字符串两端的空白字符。&lt;br style="word-break: break-all; line-height: normal; " /&gt;如：$.trim("&amp;nbsp;&amp;nbsp; hello, how are you?&amp;nbsp;&amp;nbsp; ");&amp;nbsp;&amp;nbsp; //返回"hello,how are you? "&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;&lt;span style="word-break: break-all; line-height: normal; color: red; "&gt;12、解决自定义方法或其他类库与jQuery的冲突&lt;/span&gt;&lt;br style="word-break: break-all; line-height: normal; " /&gt;很多时候我们自己定义了$(id)方法来获取一个元素，或者其他的一些js类库如prototype也都定义了$方法，如果同时把这些内容放在一起就会引起变量方法定义冲突，Jquery对此专门提供了方法用于解决此问题。&lt;br style="word-break: break-all; line-height: normal; " /&gt;使用jquery中的&lt;span style="word-break: break-all; line-height: normal; color: blue; "&gt;jQuery.noConflict();&lt;/span&gt;方法即可把变量$的控制权让渡给第一个实现它的那个库或之前自定义的$方法。之后应用Jquery的时候只要将所有的$换成jQuery即可，如原来引用对象方法$("#msg")改为jQuery("#msg")。&lt;br style="word-break: break-all; line-height: normal; " /&gt;如：&lt;br style="word-break: break-all; line-height: normal; " /&gt;jQuery.noConflict();&lt;br style="word-break: break-all; line-height: normal; " /&gt;// 开始使用jQuery&lt;br style="word-break: break-all; line-height: normal; " /&gt;jQuery("div&amp;nbsp;&amp;nbsp; p").hide();&lt;br style="word-break: break-all; line-height: normal; " /&gt;// 使用其他库的 $()&lt;br style="word-break: break-all; line-height: normal; " /&gt;$("content").style.display = 'none';&lt;/span&gt;&lt;font  color="#ff0000" face="Arial, Helvetica, sans-serif"&gt;&lt;span  style="font-size: 12px; line-height: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;img src="http://www.cnblogs.com/wf225/aggbug/2340285.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wf225/archive/2012/02/06/2340285.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wf225/archive/2011/12/20/2294881.html</id><title type="text">XCode 4 编译错误大全整理</title><summary type="text">/usr/lib/libxml21.Xcode 4 libxml2/… not foundTry adding $SDK_DIR/usr/include/libxml2 to Header Search Paths, to replace the old setting/usr/lib/libxml2.整理收集中...</summary><published>2011-12-20T08:47:00Z</published><updated>2011-12-20T08:47:00Z</updated><author><name>无锋不起浪</name><uri>http://www.cnblogs.com/wf225/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wf225/archive/2011/12/20/2294881.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wf225/archive/2011/12/20/2294881.html"/><content type="html">&lt;p&gt;&lt;span  style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; line-height: 18px; "&gt;/usr/lib/libxml2&lt;/span&gt;1.&amp;nbsp;Xcode 4 libxml2/&amp;#8230; not found&lt;/p&gt;&lt;p&gt;&lt;span  style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; line-height: 18px; background-color: #ffffff; "&gt;Try adding $SDK_DIR/usr/include/libxml2 to Header Search Paths, to replace the old setting&amp;nbsp;&lt;/span&gt;&lt;span  style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; line-height: 18px; background-color: #ffffff; "&gt;/usr/lib/libxml2.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;整理收集中...&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wf225/aggbug/2294881.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wf225/archive/2011/12/20/2294881.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wf225/archive/2011/09/24/2189516.html</id><title type="text">Xcode 快捷键大全</title><summary type="text">现在说明一下，command相当于ms键盘的window键，option相当于ctrl，键值一样，系统偏好设置里面可以更改。xcode 相关：关于xcode 可设偏好设置 command+,清空缓存 可设隐藏xcode command+h隐藏其它 command+option+h显示全部 可设退出xcode command+q文件相关：新建项目 command+shift+n新建文件 command+n新建空文件 command+control+n打开 command+o在新窗口中打开 command+option+o快速打开 command+shift+d / command+shift+a</summary><published>2011-09-24T07:54:00Z</published><updated>2011-09-24T07:54:00Z</updated><author><name>无锋不起浪</name><uri>http://www.cnblogs.com/wf225/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wf225/archive/2011/09/24/2189516.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wf225/archive/2011/09/24/2189516.html"/><content type="html">&lt;span  style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; background-color: #ffffff; "&gt;现在说明一下，command相当于ms键盘的window键，option相当于ctrl，键值一样，系统偏好设置里面可以更改。&amp;nbsp;&lt;br /&gt;xcode 相关：&amp;nbsp;&lt;br /&gt;关于xcode&amp;nbsp; 可设&amp;nbsp;&lt;br /&gt;偏好设置 command+,&amp;nbsp;&lt;br /&gt;清空缓存 可设&amp;nbsp;&lt;br /&gt;隐藏xcode command+h&amp;nbsp;&lt;br /&gt;隐藏其它 command+option+h&amp;nbsp;&lt;br /&gt;显示全部 可设&amp;nbsp;&lt;br /&gt;退出xcode command+q&amp;nbsp;&lt;br /&gt;&lt;br /&gt;文件相关：&amp;nbsp;&lt;br /&gt;新建项目 command+shift+n&amp;nbsp;&lt;br /&gt;新建文件 command+n&amp;nbsp;&lt;br /&gt;新建空文件 command+control+n&amp;nbsp;&lt;br /&gt;打开 command+o&amp;nbsp;&lt;br /&gt;在新窗口中打开&amp;nbsp;&amp;nbsp; command+option+o&amp;nbsp;&lt;br /&gt;快速打开 command+shift+d / command+shift+alt+d (不知区别是什么)&amp;nbsp;&lt;br /&gt;清空最近打开文件 可设&amp;nbsp;&lt;br /&gt;清空最近打开项目 可设&amp;nbsp;&lt;br /&gt;Get Info command+i&amp;nbsp;&lt;br /&gt;显示检查器？ command+option+i&amp;nbsp; (效果和Get Info一样，不知区别)&amp;nbsp;&lt;br /&gt;关闭窗口 command+w&amp;nbsp;&lt;br /&gt;关闭所有窗口 command+option+w&amp;nbsp;&lt;br /&gt;关闭当前项目 command+control+w&amp;nbsp;&lt;br /&gt;关闭当前文件 command+shift+w&amp;nbsp;&lt;br /&gt;保存文件 command+s&amp;nbsp;&lt;br /&gt;保存所有文件 command+option+s&amp;nbsp;&lt;br /&gt;另存为 command+shift+s&amp;nbsp;&lt;br /&gt;复本另存为 command+option+shift+s&amp;nbsp;&lt;br /&gt;还原到保存时状态 command+u&amp;nbsp;&lt;br /&gt;创建快照 command+control+s (保存文件快照，以后可进行对比修改情况)&amp;nbsp;&lt;br /&gt;显示快照 可设 (File-&amp;gt;Snapshots)&amp;nbsp;&lt;br /&gt;打印 command+p&amp;nbsp;&lt;br /&gt;编辑相关：&amp;nbsp;&lt;br /&gt;撤销 command+z&amp;nbsp;&lt;br /&gt;重复 command+shift+z&amp;nbsp;&lt;br /&gt;剪切 command+x&amp;nbsp;&lt;br /&gt;复制 command+c&amp;nbsp;&lt;br /&gt;粘贴 command+v&amp;nbsp;&lt;br /&gt;粘贴并匹配格式 command+option+shift+v&amp;nbsp;&lt;br /&gt;删除 可设&amp;nbsp;&lt;br /&gt;全选 command+a&amp;nbsp;&lt;br /&gt;复制(Duplicate) 可设&amp;nbsp;&lt;br /&gt;重构 command+shift+j (选中方法名)&amp;nbsp;&lt;br /&gt;转换为objc2.0 可设&amp;nbsp;&lt;br /&gt;=================字体====================&amp;nbsp;&lt;br /&gt;显示字体 command+t&amp;nbsp;&lt;br /&gt;粗体 可设&amp;nbsp;&lt;br /&gt;斜体 可设&amp;nbsp;&lt;br /&gt;下划线 可设&amp;nbsp;&lt;br /&gt;变大字号 可设&amp;nbsp;&lt;br /&gt;变小字号 可设&amp;nbsp;&lt;br /&gt;Kern相关 可设&amp;nbsp;&lt;br /&gt;Ligature相关 可设&amp;nbsp;&lt;br /&gt;Baseline相关 可设&amp;nbsp;&lt;br /&gt;显示颜色 可设&amp;nbsp;&lt;br /&gt;复制样式 command+option+c&amp;nbsp;&lt;br /&gt;粘贴样式 command+option+v&amp;nbsp;&lt;br /&gt;================= 文本====================&amp;nbsp;&lt;br /&gt;左对齐 command+{&amp;nbsp;&lt;br /&gt;右对齐 command+}&amp;nbsp;&lt;br /&gt;居中 command+竖线 (不知竖线是哪个，没试出)&amp;nbsp;&lt;br /&gt;Justify&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 可设(功能未知)&amp;nbsp;&lt;br /&gt;左缩进 command+[&amp;nbsp;&lt;br /&gt;右缩进 command+]&amp;nbsp;&lt;br /&gt;Show Ruler 可设(功能未知)&amp;nbsp;&lt;br /&gt;Copy Ruler command+control+c&amp;nbsp;&lt;br /&gt;Paste Ruler command+control+v&amp;nbsp;&lt;br /&gt;Balance 可设 (第一次，选中语句，第二次，选中方法体)&amp;nbsp;&lt;br /&gt;重置缩进 可设&amp;nbsp;&lt;br /&gt;=================查找====================&amp;nbsp;&lt;br /&gt;项目中查找 command+shift+F&amp;nbsp;&lt;br /&gt;在项目中查找选定文本 可设&amp;nbsp;&lt;br /&gt;查找 可设&amp;nbsp;&lt;br /&gt;查找替换 command+control+f&amp;nbsp;&lt;br /&gt;查找选定文本 可设&amp;nbsp;&lt;br /&gt;查找下一个 command+g&amp;nbsp;&lt;br /&gt;查找上一个 command+shift+g&amp;nbsp;&lt;br /&gt;隐藏查找栏 可设&amp;nbsp;&lt;br /&gt;替换 可设&amp;nbsp;&lt;br /&gt;替换全部 可设&amp;nbsp;&lt;br /&gt;替换并查找下一个 可设&amp;nbsp;&lt;br /&gt;替换并查找上一个 可设&amp;nbsp;&lt;br /&gt;用选择的查找 command+e&amp;nbsp;&lt;br /&gt;用选择的替换 command+control+e&amp;nbsp;&lt;br /&gt;跳到光标处 command+j&amp;nbsp;&lt;br /&gt;跳到定义 可设&amp;nbsp;&lt;br /&gt;=================排序====================&amp;nbsp;&lt;br /&gt;按名 可设&amp;nbsp;&lt;br /&gt;按类型 可设&amp;nbsp;&lt;br /&gt;========================================&amp;nbsp;&lt;br /&gt;添加书签 command+d&amp;nbsp;&lt;br /&gt;go to line command+l&amp;nbsp;&lt;br /&gt;下一个填充 control+.&amp;nbsp;&lt;br /&gt;填充列表 option+esc&amp;nbsp;&lt;br /&gt;下一个占位符 control+/ (和tab相同)&amp;nbsp;&lt;br /&gt;Edit All in Scope command+control+t (功能未知)&amp;nbsp;&lt;br /&gt;================插入宏=================&amp;nbsp;&lt;br /&gt;c&amp;nbsp;&lt;br /&gt;c++&amp;nbsp;&lt;br /&gt;html&amp;nbsp;&lt;br /&gt;java&amp;nbsp;&lt;br /&gt;objective-c&amp;nbsp;&lt;br /&gt;宏规范&amp;nbsp;&lt;br /&gt;=================拼写====================&amp;nbsp;&lt;br /&gt;显示拼写和语法 command+shift+;&amp;nbsp;&lt;br /&gt;检查拼写 command+;&amp;nbsp;&lt;br /&gt;输入时检查拼写 可设&amp;nbsp;&lt;br /&gt;特殊符号 command+option+t&amp;nbsp;&lt;br /&gt;视图相关：&amp;nbsp;&lt;br /&gt;右上角详情搜索 command+option+f&amp;nbsp;&lt;br /&gt;缩放编辑窗口 command+shift+e&amp;nbsp;&lt;br /&gt;缩放编辑窗口满屏 command+option+shift+e&amp;nbsp;&lt;br /&gt;折叠 command+control+左箭头&amp;nbsp;&lt;br /&gt;屏开 command+control+右箭头&amp;nbsp;&lt;br /&gt;屏开所有 control+u&amp;nbsp;&lt;br /&gt;折叠方法 command+control+上箭头&amp;nbsp;&lt;br /&gt;展开方法 command+control+下箭头&amp;nbsp;&lt;br /&gt;折叠注释块 command+control+shift+上箭头&amp;nbsp;&lt;br /&gt;展开注释块 command+control+shift+下箭头&amp;nbsp;&lt;br /&gt;焦点跟随 command+option+control+f&amp;nbsp;&lt;br /&gt;============== 信息提示====================&amp;nbsp;&lt;br /&gt;隐藏问题 command+shift+h&amp;nbsp;&lt;br /&gt;所有问题 可设&amp;nbsp;&lt;br /&gt;仅错误和警告 可设&amp;nbsp;&lt;br /&gt;仅错误 可设&amp;nbsp;&lt;br /&gt;仅Analyzer结果 可设&amp;nbsp;&lt;br /&gt;显示断点 可设&amp;nbsp;&lt;br /&gt;==================文本====================&amp;nbsp;&lt;br /&gt;tab设置 可设&amp;nbsp;&lt;br /&gt;是否自动换行显示 可设&amp;nbsp;&lt;br /&gt;行结束 可设&amp;nbsp;&lt;br /&gt;显示控制字符 command+shift+6&amp;nbsp;&lt;br /&gt;显示空格 可设&amp;nbsp;&lt;br /&gt;==============智能分组====================&amp;nbsp;&lt;br /&gt;所有文件&amp;nbsp; 可设&amp;nbsp;&lt;br /&gt;Targets 可设&amp;nbsp;&lt;br /&gt;Exeutables 可设&amp;nbsp;&lt;br /&gt;书签 command+shift+m&amp;nbsp;&lt;br /&gt;Symbols 可设&amp;nbsp;&lt;br /&gt;搜索结果 可设&amp;nbsp;&lt;br /&gt;===================布局====================&amp;nbsp;&lt;br /&gt;显示导航栏 可设&amp;nbsp;&lt;br /&gt;隐藏状态栏 可设&amp;nbsp;&lt;br /&gt;显示收藏栏 可设&amp;nbsp;&lt;br /&gt;显示页数控制 可设&amp;nbsp;&lt;br /&gt;===========================================&amp;nbsp;&lt;br /&gt;前进 command+option+右箭头&amp;nbsp;&lt;br /&gt;下一文件 command+option+shift+右箭头&amp;nbsp;&lt;br /&gt;返回 command+option+左箭头&amp;nbsp;&lt;br /&gt;上一文件 command+option+shift+左箭头&amp;nbsp;&lt;br /&gt;切换头/源文件 command+option+上箭头&amp;nbsp;&lt;br /&gt;组树中定位 command+option+shift+上箭头&amp;nbsp;&lt;br /&gt;显示工具栏 可设&amp;nbsp;&lt;br /&gt;自定义工具栏 可设&amp;nbsp;&lt;br /&gt;===================项目====================&amp;nbsp;&lt;br /&gt;项目中标签切换 command+数字0&amp;nbsp;&lt;br /&gt;类浏览 command+shift+c&amp;nbsp;&lt;br /&gt;重命名项目 可设&amp;nbsp;&lt;br /&gt;新组 command+option+n&amp;nbsp;&lt;br /&gt;分组 command+option+g&amp;nbsp;&lt;br /&gt;撤销分组 command+option+shift+g&amp;nbsp;&lt;br /&gt;新建智能组 可设&amp;nbsp;&lt;br /&gt;添加项目 command+option+a&amp;nbsp;&lt;br /&gt;添加文件到项目 可设&amp;nbsp;&lt;br /&gt;新Target 可设&amp;nbsp;&lt;br /&gt;升级所有Targets 可设&amp;nbsp;&lt;br /&gt;升级当前 Target到ipad 可设&amp;nbsp;&lt;br /&gt;================New Build Phase====================&amp;nbsp;&lt;br /&gt;没做测试不多介绍，只放出内容&amp;nbsp;&lt;br /&gt;New Copy Files Build Phase&amp;nbsp;&lt;br /&gt;New Run Script Build Phase&amp;nbsp;&lt;br /&gt;New Copy Headers Build Phase&amp;nbsp;&lt;br /&gt;New Copy Bundle Resources Build Phase&amp;nbsp;&lt;br /&gt;New Compile Sources Build Phase&amp;nbsp;&lt;br /&gt;New Link Binary With Libraries Build Phase&amp;nbsp;&lt;br /&gt;New Build Java Resources Build Phase&amp;nbsp;&lt;br /&gt;New Build Resource Manager Resources Build Phase&amp;nbsp;&lt;br /&gt;================================================&amp;nbsp;&lt;br /&gt;新的自定义可执行文件 可设&amp;nbsp;&lt;br /&gt;设置当前Target 为空 可设&amp;nbsp;&lt;br /&gt;Set Active Architecture 为空 可设&amp;nbsp;&lt;br /&gt;设置当前sdk 为空 可设&amp;nbsp;&lt;br /&gt;设置Build配置 为空 可设&amp;nbsp;&lt;br /&gt;Set Active Executable 为空 可设&amp;nbsp;&lt;br /&gt;编辑项目设置 可设&amp;nbsp;&lt;br /&gt;编辑当前Target command+option+e&amp;nbsp;&lt;br /&gt;编辑当前可执行文件 command+option+x&amp;nbsp;&lt;br /&gt;===================Build========================&amp;nbsp;&lt;br /&gt;Bulid Results command+shift+b&amp;nbsp;&lt;br /&gt;Bulid command+b&amp;nbsp;&lt;br /&gt;Build and Analyze command+shift+a&amp;nbsp;&lt;br /&gt;Build and Archive 可设&amp;nbsp;&lt;br /&gt;Build and Debug command+enter&amp;nbsp;&lt;br /&gt;Bulid and Run 断点关 command+r&amp;nbsp;&lt;br /&gt;Build and Debug 断点开 command+y&amp;nbsp;&lt;br /&gt;Clean command+shift+k&amp;nbsp;&lt;br /&gt;Clean All Targets 可设&amp;nbsp;&lt;br /&gt;下个Build警告或错误 command+=&amp;nbsp;&lt;br /&gt;前个 Build警告或错误 command+shift+=&amp;nbsp;&lt;br /&gt;Compile command+k&amp;nbsp;&lt;br /&gt;Preprocess 可设&amp;nbsp;&lt;br /&gt;Show Assembly Code 可设&amp;nbsp;&lt;br /&gt;Touch 可设&amp;nbsp;&lt;br /&gt;=======================代码导航及编辑================&amp;nbsp;&lt;br /&gt;注释 command+/&amp;nbsp;&lt;br /&gt;文件首行 command+上箭头&amp;nbsp;&lt;br /&gt;文件末 command+下箭头&amp;nbsp;&lt;br /&gt;行首 command+左箭头&amp;nbsp;&lt;br /&gt;行末 command+右箭头&amp;nbsp;&lt;br /&gt;上一单词 option+左箭头&amp;nbsp;&lt;br /&gt;下一单词 option+右箭头&amp;nbsp;&lt;br /&gt;上一拆分单词 control+左箭头&amp;nbsp;&lt;br /&gt;下一拆分单词 control+右箭头&amp;nbsp;&lt;br /&gt;中间显示光标位置 control+l&amp;nbsp;&lt;br /&gt;方法组列表 control+2&amp;nbsp;&lt;br /&gt;删除前一单词 option+delete&amp;nbsp;&lt;br /&gt;删除此行光标前所有内容 control+delete&amp;nbsp;&lt;br /&gt;跨行选取 command+option+鼠标拖动&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Run相关：&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Debug command+option+enter&amp;nbsp;&lt;br /&gt;Run 断点关 command+option+r&amp;nbsp;&lt;br /&gt;Debug 断点开 command+option+y&amp;nbsp;&lt;br /&gt;Run with Performance Tool (Shark) 可设&amp;nbsp;&lt;br /&gt;Stop command+shift+enter&amp;nbsp;&lt;br /&gt;Attach to Process (Process ID) 可设&amp;nbsp;&lt;br /&gt;Debugger command+option+y&amp;nbsp;&lt;br /&gt;Mini Debugger command+control+左斜上箭头(不知咋按)&amp;nbsp;&lt;br /&gt;Console command+shift+r&amp;nbsp;&lt;br /&gt;Clear Console command+option+control+r&amp;nbsp;&lt;br /&gt;===================Show========================&amp;nbsp;&lt;br /&gt;断点 command+option+b&amp;nbsp;&lt;br /&gt;Expressions 可设&amp;nbsp;&lt;br /&gt;Global Variables 可设&amp;nbsp;&lt;br /&gt;Memory Browsers 可设&amp;nbsp;&lt;br /&gt;Shared Libraries 可设&amp;nbsp;&lt;br /&gt;===================Debugger Display========================&amp;nbsp;&lt;br /&gt;纵布局 可设&amp;nbsp;&lt;br /&gt;横布局 可设&amp;nbsp;&lt;br /&gt;Datatips 可设&amp;nbsp;&lt;br /&gt;Step Controls 可设&amp;nbsp;&lt;br /&gt;Source Only 可设&amp;nbsp;&lt;br /&gt;Source And Disassembly 可设&amp;nbsp;&lt;br /&gt;Disassembly 可设&amp;nbsp;&lt;br /&gt;===================Variables View========================&amp;nbsp;&lt;br /&gt;User Data Formatters&amp;nbsp;&lt;br /&gt;Show Type Column&amp;nbsp;&lt;br /&gt;Print Description to Console&amp;nbsp;&lt;br /&gt;Print Roots to Console&amp;nbsp;&lt;br /&gt;Print Referers to Console&amp;nbsp;&lt;br /&gt;Watch Variable&amp;nbsp;&lt;br /&gt;View Value as&amp;nbsp;&lt;br /&gt;Natural&amp;nbsp;&lt;br /&gt;Hexadecimal&amp;nbsp;&lt;br /&gt;OSType&amp;nbsp;&lt;br /&gt;Decimal&amp;nbsp;&lt;br /&gt;Unsigned Decimal&amp;nbsp;&lt;br /&gt;Octal&amp;nbsp;&lt;br /&gt;Binary&amp;nbsp;&lt;br /&gt;Edit Value&amp;nbsp;&lt;br /&gt;Edit Summary Format&amp;nbsp;&lt;br /&gt;View in Memory Browser&amp;nbsp;&lt;br /&gt;View in Window&amp;nbsp;&lt;br /&gt;View in Expressions Window&amp;nbsp;&lt;br /&gt;===============================================&amp;nbsp;&lt;br /&gt;停用断点 command+control+\&amp;nbsp;&lt;br /&gt;停止objc例外 可设&amp;nbsp;&lt;br /&gt;================Manage Brakpoints=================&amp;nbsp;&lt;br /&gt;当前行插入断点 command+\&amp;nbsp;&lt;br /&gt;Add Symbolic Breakpoint 可设&amp;nbsp;&lt;br /&gt;Add C++ Exception Breakpoint 可设&amp;nbsp;&lt;br /&gt;启用当前行断点 command+option+\&amp;nbsp;&lt;br /&gt;导入断点 可设&amp;nbsp;&lt;br /&gt;导出断点 可设&amp;nbsp;&lt;br /&gt;===============================================&amp;nbsp;&lt;br /&gt;Fix 可设&amp;nbsp;&lt;br /&gt;Pause command+option+p&amp;nbsp;&lt;br /&gt;Step Into command+shift+i&amp;nbsp;&lt;br /&gt;Step Into Instruction command+option+shift+i&amp;nbsp;&lt;br /&gt;Step Over command+shift+o&amp;nbsp;&lt;br /&gt;Setp Over Instruction command+option+shift+o&amp;nbsp;&lt;br /&gt;Setp Out command+shift+t&amp;nbsp;&lt;br /&gt;Next Thread command+option+control+上箭头&amp;nbsp;&lt;br /&gt;Previous Thread command+option+control+下箭头&amp;nbsp;&lt;br /&gt;Sync with Debugger 可设&amp;nbsp;&lt;br /&gt;Stop on Debugger()/DebugStr() 可设&amp;nbsp;&lt;br /&gt;Enable Guard Malloc 可设&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Desing相关：&amp;nbsp;&lt;br /&gt;======================Class Model===================&amp;nbsp;&lt;br /&gt;Quick Model&amp;nbsp;&lt;br /&gt;Go to Declaration&amp;nbsp;&lt;br /&gt;Go to Definition&amp;nbsp;&lt;br /&gt;Go to Documentation&amp;nbsp;&lt;br /&gt;Add Comment&amp;nbsp;&lt;br /&gt;======================Data Model===================&amp;nbsp;&lt;br /&gt;Import&amp;nbsp;&lt;br /&gt;Add Model Version&amp;nbsp;&lt;br /&gt;Set Current Version&amp;nbsp;&lt;br /&gt;Add Entity&amp;nbsp;&lt;br /&gt;Add Attribute&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; command+control+a&amp;nbsp;&lt;br /&gt;Add Fetched Property&amp;nbsp;&lt;br /&gt;Add Relationship command+control+r&amp;nbsp;&lt;br /&gt;Add Fetch Request&amp;nbsp;&lt;br /&gt;Copy Method Declarations to Clipboard&amp;nbsp;&lt;br /&gt;Copy Method Implementations to Clipboard&amp;nbsp;&lt;br /&gt;Copy Obj-C 2.0 Method Declarations to Clipboard&amp;nbsp;&lt;br /&gt;Copy Obj-C 2.0 Method Implementations to Clipboa&amp;nbsp;&lt;br /&gt;======================Mapping Model===================&amp;nbsp;&lt;br /&gt;Update Source Model&amp;nbsp;&lt;br /&gt;Update Destination Model&amp;nbsp;&lt;br /&gt;Add Missing Property Mappings&amp;nbsp;&lt;br /&gt;===================================================&amp;nbsp;&lt;br /&gt;Show Model Browser command+control+b&amp;nbsp;&lt;br /&gt;Collapse Compartments&amp;nbsp;&lt;br /&gt;Expand Compartments&amp;nbsp;&lt;br /&gt;Roll Up Compartments&amp;nbsp;&lt;br /&gt;Roll Down Compartments&amp;nbsp;&lt;br /&gt;======================Diagram=======================&amp;nbsp;&lt;br /&gt;Bring to Front command+control+shift+f&amp;nbsp;&lt;br /&gt;Send to Back command+control+shift+b&amp;nbsp;&lt;br /&gt;Align Top Edges&amp;nbsp;&lt;br /&gt;Align Bottom Edges&amp;nbsp;&lt;br /&gt;Align Left Edges&amp;nbsp;&lt;br /&gt;Align Right Edges&amp;nbsp;&lt;br /&gt;Align Vertical Centers&amp;nbsp;&lt;br /&gt;Align Horizontal Centers&amp;nbsp;&lt;br /&gt;Make Centered Colum&amp;nbsp;&lt;br /&gt;Make Centered Row&amp;nbsp;&lt;br /&gt;Make Same Width&amp;nbsp;&lt;br /&gt;Make Same Height&amp;nbsp;&lt;br /&gt;Size to Fit&amp;nbsp;&lt;br /&gt;Lock command+control+l&amp;nbsp;&lt;br /&gt;Unlock command+shift+control+l&amp;nbsp;&lt;br /&gt;Zoom in command+control++&amp;nbsp;&lt;br /&gt;Zoom Out command+control+-&amp;nbsp;&lt;br /&gt;Zoom to Fit command+control+=&amp;nbsp;&lt;br /&gt;Turn Grid On&amp;nbsp;&lt;br /&gt;Show Grid&amp;nbsp;&lt;br /&gt;Show Page Breaks&amp;nbsp;&lt;br /&gt;Force-Directed Layout command+control+g&amp;nbsp;&lt;br /&gt;Hierarchical Layout command+control+h&amp;nbsp;&lt;br /&gt;Window相关：&amp;nbsp;&lt;br /&gt;最小化 command+m&amp;nbsp;&lt;br /&gt;全部最小化 command+option+m&amp;nbsp;&lt;br /&gt;Zoom&amp;nbsp;&lt;br /&gt;Bring All to Front&amp;nbsp;&lt;br /&gt;Defaults&amp;nbsp;&lt;br /&gt;Organizer command+control+o&amp;nbsp;&lt;br /&gt;Activity&amp;nbsp;&lt;br /&gt;Help相关：&amp;nbsp;&lt;br /&gt;开发文档 command+option+?&amp;nbsp;&lt;br /&gt;快速帮助 command+control+?&amp;nbsp;&lt;br /&gt;Xcode帮助 command+?&amp;nbsp;&lt;br /&gt;Welcome to Xcode&amp;nbsp;&lt;br /&gt;Xcode Quick Start&amp;nbsp;&lt;br /&gt;Xcode Release Notes&amp;nbsp;&lt;br /&gt;Find Documentation for Selected Text&amp;nbsp;&lt;br /&gt;Open man Page&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/wf225/aggbug/2189516.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wf225/archive/2011/09/24/2189516.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wf225/archive/2011/08/16/2140694.html</id><title type="text">ODA(Open Design Alliance)介绍</title><summary type="text">ODA(Open Design Alliance）介绍 注：与autocad兼容的软件，大部分基于Intellicad，另外刚冒出一个bricscad，天河的PCCAD V10就是基于bricscad，bricscad是用ODA的库开发的，而开发bricscad的公司原来是ITC的成员，而Intellicad也是ODA的成员，现在正用ODA的库重写Intelicad。ODA是由Intellicad的老东家visio牵头成立的...这关系够乱的。1简介 ODA(Open Design Alliance)是一个非盈利的组则，在40多个国家有1100多个成员。ODA致力于促进开放的、工业标准的CA.</summary><published>2011-08-16T07:41:00Z</published><updated>2011-08-16T07:41:00Z</updated><author><name>无锋不起浪</name><uri>http://www.cnblogs.com/wf225/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wf225/archive/2011/08/16/2140694.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wf225/archive/2011/08/16/2140694.html"/><content type="html">&#xD;
 &#xD;
&lt;p&gt;ODA(Open Design Alliance）介绍 &lt;/p&gt;&lt;p&gt;注：与autocad兼容的软件，大部分基于Intellicad，另外刚冒出一个bricscad，天河的PCCAD V10就是基于bricscad，bricscad是用ODA的库开发的，而开发bricscad的公司原来是ITC的成员，而Intellicad也是ODA的成员，现在正用ODA的库重写Intelicad。&lt;br /&gt;ODA是由Intellicad的老东家visio牵头成立的...这关系够乱的。&lt;/p&gt;&lt;p&gt;1简介 &lt;/p&gt;&lt;p&gt;ODA(Open Design Alliance)是一个非盈利的组则，在40多个国家有1100多个成员。&lt;br /&gt;ODA致力于促进开放的、工业标准的CAD数据和遗留的CAD数据的格式交换。&lt;br /&gt;ODA开发用于技术图形应用程序的核心平台Teigha， Teigha支持dwg、dgn、stl、pdf之间的数据交换。&lt;br /&gt;Teigha支持的多个平台：Windows、Mac、Unix、Linux等。&lt;br /&gt;ODA 会员可以用 C++, .NET, 和 ActiveX 接口开发自己的应用程序。&lt;br /&gt;ODA的宗旨是开发核心的图形技术库，让软件开发商专注与应用开发。&lt;br /&gt;和ITC一样也是面向会员的。&lt;/p&gt;&lt;p&gt;&lt;br /&gt;2 Teigha平台工具介绍 &lt;/p&gt;&lt;p&gt;2.1 Teigha for .dwg &lt;br /&gt;曾用名OpenDWG 、DWGdirect，创建CAD和技术图形程序的c++API。&lt;/p&gt;&lt;p&gt;功能: 支持DWG, DXF, 和BDXF 文件格式: &lt;br /&gt;读取AutoCAD 2.5 至AutoCAD 2011的dwg文件。&lt;/p&gt;&lt;p&gt;保存AutoCAD 12 至AutoCAD 2011的dwg文件 &lt;br /&gt;显示dwg和dxf文件和选择图形对象，支持GDI,OpenGL和DirectX。&lt;/p&gt;&lt;p&gt;恢复和修正损坏的dwg文件 编辑和维护dwg文件数据： &lt;br /&gt;炸开实体 &lt;br /&gt;实体坐标转换 &lt;br /&gt;修改实体的任意属性 &lt;br /&gt;复制对象 将.dwg 和.dxf 文件 转换为SVG, PDF, DWF, BMP, STL。&lt;/p&gt;&lt;p&gt;导入DWF文件 &lt;br /&gt;支持定制对象 &lt;br /&gt;　　支持外部文件，如字体文件(TTF/SHX）线型文件（LIN） 填充图案文件（PAT） &lt;br /&gt;根据标注设定重建标注 &lt;br /&gt;支持事务transactions和undo/redo &lt;br /&gt;支持dwg文件部分打开 &lt;br /&gt;定制内存管理，客户应用程序可控制内存分配和回收 &lt;br /&gt;　　支持&amp;#8220;round-trip&amp;#8221; 数据. 例如, 如果将2007 .dwg 文件保存为R14, 2007的文件格式规范作为扩展数据保存在R14文件中，在支持2007dwg的程序中打开此文件时，数据恢复为2007兼容的形式。&lt;/p&gt;&lt;p&gt;支持ACIS，包括显示内嵌的ACIS 3D实体（框架和着色）和读取ACIS实体的边界表达数据。&lt;/p&gt;&lt;p&gt;定制命令 &lt;br /&gt;集成第三方组件 &lt;br /&gt;2.2 TeighaX for .dwg &lt;br /&gt;基于Teigha for .dwg 创建的操作dwg文件的ActiveX库，可用于创建小型的工具程序，如dwg浏览，dwg格式转换等。&lt;br /&gt;2.3 Teigha.NET for .dwg &lt;br /&gt;基于Teigha for .dwg创建的操作dwg文件的.net库，可用于创建小型的工具程序，如dwg浏览，dwg格式转换等/ 2.4 Teigha for .dgn &lt;br /&gt;基于dgn文件创建CAD程序的c++程序API。&lt;/p&gt;&lt;p&gt;&lt;br /&gt;2.5 Teigha for Architecture &lt;br /&gt;Teigha for .dwg的一个工程软件包，支持墙体、门、窗等对象和定制对性的创建。&lt;br /&gt;2.6 第三方组件 &lt;/p&gt;&lt;p&gt;集成ACIS的 SpaModeler实体建模块 &lt;br /&gt;集成HOOPS的扩展模块 &lt;br /&gt;集成Adobe的 DD_PdfModuleAdb模块。&lt;/p&gt;&lt;p&gt;集成 Ledas LGS的2D几何约束模块。&lt;/p&gt;&lt;p&gt;集成来自 Siemens PLM软件的 D-Cubed 2D DCM（2D标注约束管理器） &lt;br /&gt;集成来自 Redway3d的 RedOdaDevice（实时光线追踪和渲染技术） &lt;br /&gt;3 ODA历史 2010 &lt;br /&gt;将所有的ODA软件统一命名为 Teigha &lt;br /&gt;2009 &lt;br /&gt;DWGdirect支持.NET平台；集成 HOOPS 和 RedSDK的组件 &lt;br /&gt;2008 &lt;br /&gt;推出DRX（现名TX，与Autodesk的Arx类似的扩展接口）；集成ACIS。&lt;/p&gt;&lt;p&gt;2007 &lt;br /&gt;推出 DGNdirect的beta版（ Teigha for .dgn） &lt;br /&gt;2005 &lt;br /&gt;集成建筑模块 &lt;br /&gt;2003 &lt;br /&gt;8月份， 在于Bentley Systems 达成协议，支持OpenDGN 标准后，OpenDWG Alliance改名为 Open Design Alliance，体现开放的目标。&lt;br /&gt;DWGdirect支持ActiveX。&lt;/p&gt;&lt;p&gt;2002 &lt;br /&gt;推出新的名为 DWGdirect的平台（现名 Teigha for .dwg），比原先的OpenDWG 功能强，支持Windows和UNIX平台。&lt;/p&gt;&lt;p&gt;1998 &lt;br /&gt;2月，独立的、非营利的"OpenDWG Alliance" 组织成立，目标是让dwg文件成为一个开放的、大家都可以用的图形存储标准。&lt;br /&gt;这个联盟是由Visio牵头的多家公司组成的。&lt;/p&gt;&lt;p&gt;"OpenDWG Alliance"致力于开发读写dwg文件的程序，开始开发供成员使用的OpenDWG Toolkit和 Viewkit(在以前 MarComp 发AUTODIRECT 库基础上) &lt;br /&gt;1998 前 &lt;br /&gt;看到读写dwg文件的市场机会，多家公司解析dwg文件格式，以开发用于 Autodesk AutoCAD 的程序工具包、文件浏览器和其它插件。&lt;br /&gt;这些公司包括： &lt;br /&gt;　　Cimmetry Systems, Cyco, Kamel Software, MarComp, Sirlin, 和 Softsource。&lt;/p&gt;&lt;p&gt;1997年， MarComp成为读取dwg程序工具的领先厂商。&lt;br /&gt;1998年1月， MarComp被Visio收购，现属于 Microsoft Corporation。&lt;/p&gt;&lt;p&gt;来源：ODA(Open Design Alliance)介绍-AutoCAD-挖豆网&lt;a href="http://www.wa361.com/view-394836.html"&gt;http://www.wa361.com/view-394836.html&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wf225/aggbug/2140694.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wf225/archive/2011/08/16/2140694.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wf225/archive/2011/07/30/2122090.html</id><title type="text">Modal dialog block the GUI thread</title><summary type="text">在GUI中，如果你使用了模态窗口，并且想从模态窗口中暂时中断，回到主窗口进行一些交互操作，然后再继续模态窗口中的任务，该如何操作？典型的就是 modal progress bar。也许你第一个会想到把窗口 Hide，modalForm.Hide();while(...)//等待主窗口的交互结果{ ... Application.DoEvent();}modalForm.ShowDialog();//Continue结果可能会让你失望，modalForm是Hide 了，但焦点却无论如何不能回到主窗口了。我们可以通过win32的API 将焦点重新设到主窗口。首先要得到modalForm 的Hand</summary><published>2011-07-30T13:53:00Z</published><updated>2011-07-30T13:53:00Z</updated><author><name>无锋不起浪</name><uri>http://www.cnblogs.com/wf225/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wf225/archive/2011/07/30/2122090.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wf225/archive/2011/07/30/2122090.html"/><content type="html">&lt;p&gt;在GUI中，如果你使用了模态窗口，并且想从模态窗口中暂时中断，回到主窗口进行一些交互操作，然后再继续模态窗口中的任务，该如何操作？典型的就是 modal progress bar。也许你第一个会想到把窗口 Hide，&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;modalForm.Hide();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;while&lt;/span&gt;&lt;span style="color: #000000;"&gt;(...)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;等待主窗口的交互结果&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;...&amp;nbsp;&lt;/p&gt;&lt;p&gt;Application.DoEvent();&lt;/p&gt;&lt;p&gt;&lt;span style="color: #000000;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;span style="font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; "&gt;&lt;span style="font-family: 'Courier New'; font-size: 13px; line-height: 19px; "&gt;&lt;span style="color: #000000; "&gt;modalForm.ShowDialog();&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt;Continue&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;font  face="'Courier New'" size="2"&gt;结果可能会让你失望，modalForm是Hide 了，但焦点却无论如何不能回到主窗口了。&lt;/font&gt;&lt;/p&gt;&#xD;
&lt;p&gt;我们可以通过win32的API 将焦点重新设到主窗口。首先要得到modalForm 的Handle，当然这个也可用win32 API。&amp;nbsp;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;The&amp;nbsp;FindWindow&amp;nbsp;function&amp;nbsp;retrieves&amp;nbsp;the&amp;nbsp;handle&amp;nbsp;to&amp;nbsp;the&amp;nbsp;top-level&amp;nbsp;window&amp;nbsp;whose&amp;nbsp;class&amp;nbsp;name&amp;nbsp;and&amp;nbsp;window&amp;nbsp;name&amp;nbsp;match&amp;nbsp;the&amp;nbsp;specified&amp;nbsp;strings.&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;This&amp;nbsp;function&amp;nbsp;does&amp;nbsp;not&amp;nbsp;search&amp;nbsp;child&amp;nbsp;windows.&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;[DllImport(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;user32.dll&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;SetLastError&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;)]&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;extern&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IntPtr&amp;nbsp;FindWindowEx(IntPtr&amp;nbsp;hwndParent,&amp;nbsp;IntPtr&amp;nbsp;hwndChildAfter,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;lpszClass,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;lpszWindow);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;progressBarText&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ModelDialog&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;IntPtr&amp;nbsp;progressBar&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;Win32Wrapper.&lt;span style="color: #000000"&gt;FindWindowEx(IntPtr.Zero,&amp;nbsp;IntPtr.Zero,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;progressBarText);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;1.&amp;nbsp;Hide&amp;nbsp;the&amp;nbsp;modal&amp;nbsp;progress&amp;nbsp;bar.&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Win32Wrapper.ShowWindow(progressBar,&amp;nbsp;Win32Wrapper.WindowShowStyle.Hide);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;2.&amp;nbsp;Send&amp;nbsp;focus&amp;nbsp;to&amp;nbsp;AutoCAD&amp;nbsp;main&amp;nbsp;window.&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;IntPtr&amp;nbsp;mainWindows&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Autodesk.AutoCAD.ApplicationServices.Application.MainWindow.Handle;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;Win32Wrapper.EnableWindow(mainWindows,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;Win32Wrapper.SetFocus(mainWindows);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;Win32Wrapper.ShowWindow(mainWindows,&amp;nbsp;Win32Wrapper.WindowShowStyle.Show);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;13&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;14&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;3.&amp;nbsp;Wait&amp;nbsp;for&amp;nbsp;user's&amp;nbsp;interaction.&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;15&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;while&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(...)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;16&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;17&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;Do&amp;nbsp;interaction&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;18&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;19&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;20&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;4.&amp;nbsp;Show&amp;nbsp;the&amp;nbsp;modal&amp;nbsp;progress&amp;nbsp;bar&amp;nbsp;again.&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;21&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Win32Wrapper.ShowWindow(progressBar,&amp;nbsp;Win32Wrapper.WindowShowStyle.Show);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;22&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;Win32Wrapper.SetFocus(progressBar);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;在ObjectARX中其实已经考虑到这种情况的应用了，并且提供了相应的API，这个就简单多了。&amp;nbsp;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #008080"&gt;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;Re-enable&amp;nbsp;the&amp;nbsp;AutoCAD&amp;nbsp;main window&amp;nbsp;by&amp;nbsp;using&amp;nbsp;StartUserInteraction&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Autodesk.AutoCAD.ApplicationServices.Document&amp;nbsp;doc&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;Editor&amp;nbsp;ed&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;doc.Editor;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;interaction&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ed.StartUserInteraction(&lt;/span&gt;&lt;span style="color: #000000"&gt;System.Windows.Forms.Control);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;//...&lt;/span&gt;&lt;span  style="color: #008000; "&gt;主窗口中交互操作&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;interaction.Dispose();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;模态窗口中的操作可能会和当前的Document 相关，你当然不希望用户在中间的交互过程中更改当前活动的Document，否则的话会引起Crash，那么ObjectARX 中的&amp;nbsp;&lt;span  style="font-family: 'Courier New'; font-size: 13px; line-height: 19px; "&gt;Application.DocumentManager.DocumentActivationEnabled 就是控制是否允许用户更改活动窗口(Switch drawing)的。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #000000; "&gt;Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.DocumentActivationEnabled&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;enable;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wf225/aggbug/2122090.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wf225/archive/2011/07/30/2122090.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wf225/archive/2011/06/29/2093396.html</id><title type="text">VMWare安装黑苹果Mac OS</title><summary type="text">1. 确保CPU 的VT(Virtualization Technology) 打开HP 系列 开启VT支持的方法开启的选项位于 bios 的Security 选项页中：Security &amp;gt; System Security 下面有两个项目：Virtualization Technology （VTx）和 Virtualization Technology Directed I/O (VTd)把这两项设为Enable就可以了！保存好修改后的BIOS后，需要冷启动一下，即：关机，再开机。这样这个设置才生效，要不然仍然无法生效。这个一定要注意，直接通过重启Windows无法达到这个目的的。给大</summary><published>2011-06-29T08:37:00Z</published><updated>2011-06-29T08:37:00Z</updated><author><name>无锋不起浪</name><uri>http://www.cnblogs.com/wf225/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wf225/archive/2011/06/29/2093396.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wf225/archive/2011/06/29/2093396.html"/><content type="html">&lt;p&gt;1. 确保CPU 的VT(Virtualization Technology) 打开&lt;/p&gt;&#xD;
&lt;p&gt;HP 系列 开启VT支持的方法&lt;/p&gt;&#xD;
&lt;p&gt;开启的选项位于 bios 的Security 选项页中：&lt;br /&gt;Security &amp;gt; System Security 下面有两个项目：&lt;br /&gt;&lt;br /&gt;Virtualization Technology （VTx）和 Virtualization Technology Directed I/O (VTd)&lt;br /&gt;&lt;br /&gt;把这两项设为Enable就可以了！保存好修改后的BIOS后，需要冷启动一下，即：关机，再开机。这样这个设置才生效，要不然仍然无法生效。这个一定要注意，直接通过重启Windows无法达到这个目的的。&lt;/p&gt;&#xD;
&lt;p&gt;给大家推荐一个网址，在这里可以查intel的CPU是否有这项功能：&lt;a href="http://ark.intel.com/VTList.aspx" target="_blank"&gt;&lt;font color="#0070af"&gt;http://ark.intel.com/VTList.aspx&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;参考 VMWare安装黑苹果Mac OS &lt;a href="http://hi.baidu.com/wljcom/blog/item/2e53d7b4a9203f6b8ad4b26b.html"&gt;http://hi.baidu.com/wljcom/blog/item/2e53d7b4a9203f6b8ad4b26b.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;2. Mac OS X 访问 Windows 共享文件夹&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://opnir.com/307/mac-os-x-access-windows-shared-folders"&gt;http://opnir.com/307/mac-os-x-access-windows-shared-folders&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;3. 下载 Max OS 的update 安装包&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://search.info.apple.com/index.html?locale=zh_CN&amp;amp;lr=lang_zh-CN&amp;amp;search=Go&amp;amp;q=10.6.6"&gt;http://search.info.apple.com/index.html?locale=zh_CN&amp;amp;lr=lang_zh-CN&amp;amp;search=Go&amp;amp;q=10.6.6&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wf225/aggbug/2093396.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wf225/archive/2011/06/29/2093396.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wf225/archive/2011/02/25/1965236.html</id><title type="text">C# 字符串驻留机制</title><summary type="text">一、具有相同字符序列的String对象不会重复创建 二、字符串驻留机制同样于string literal + string literal的运算 三、字符串驻留机智不适合variable + string literal形式 四、调用string.Intern可以对运算结果进行强制驻留 五、驻留的字符串不能被GC回收 六、字符串驻留是基于整个进程的</summary><published>2011-02-25T09:50:00Z</published><updated>2011-02-25T09:50:00Z</updated><author><name>无锋不起浪</name><uri>http://www.cnblogs.com/wf225/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wf225/archive/2011/02/25/1965236.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wf225/archive/2011/02/25/1965236.html"/><content type="html">&lt;p&gt;目录 &lt;br /&gt;一、具有相同字符序列的String对象不会重复创建 &lt;br /&gt;二、字符串驻留机制同样于string literal + string literal的运算 &lt;br /&gt;三、字符串驻留机智不适合variable + string literal形式 &lt;br /&gt;四、调用string.Intern可以对运算结果进行强制驻留 &lt;br /&gt;五、驻留的字符串不能被GC回收 &lt;br /&gt;六、字符串驻留是基于整个进程的 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;StringInMemory&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;1.&amp;nbsp;具有相同字符序列的String对象不会重复创建&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BuildString()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ABCDEFG&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str2&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ABCDEFG&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str3&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;1234567&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str4&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;1234567&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GC.Collect();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.Diagnostics.Debug.Assert(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;.ReferenceEquals(str1,&amp;nbsp;str2));&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;2.&amp;nbsp;字符串驻留机制同样于string&amp;nbsp;literal&amp;nbsp;+&amp;nbsp;string&amp;nbsp;literal的运算&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BuildString2()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;22&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ABCDEFG&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;23&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str2&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ABCD&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;EFG&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;24&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str3&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;1234567&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;25&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str4&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;1234&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;567&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;26&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;27&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.Diagnostics.Debug.Assert(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;.ReferenceEquals(str1,&amp;nbsp;str2));&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;28&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;29&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;30&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;31&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;3.&amp;nbsp;字符串驻留机智不适合Variable&amp;nbsp;+&amp;nbsp;string&amp;nbsp;literal形式&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;32&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;33&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BuildString3()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;34&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;35&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;无论是变量和一个字符串常量相加，还是两个字符串常量相加，运算的结果&amp;#8220;ABCDEFG1234678&amp;#8221;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;36&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;并没有被驻留下来（实际上此时它已经是一个垃圾对象，GC可以对其进行回收）。&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;37&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ABCDEFG&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;38&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str2&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;1234567&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;39&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str3&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ABCDEFG&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;str2;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;40&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str4&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;str1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;1234567&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;41&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str5&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;str1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;str2;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;42&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;43&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.Diagnostics.Debug.Assert(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;.ReferenceEquals(str3,&amp;nbsp;str4));&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;44&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;45&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;46&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;47&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;4.&amp;nbsp;调用string.Intern可以对运算结果进行强制驻留&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;48&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;49&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BuildString4()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;50&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;51&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;虽然涉及到变量的字符串连接运算结果不会被驻留，但是我们可以通过调用string.Intern方法对其进行强制驻留，&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;52&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;该方法会迫使传入传入参数表示的字符串被保存到驻留池中&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;53&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ABCDEFG&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;54&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str2&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;1234567&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;55&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str3&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;.Intern(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ABCDEFG&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;str2);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;56&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str4&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;.Intern(str1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;1234567&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;57&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;58&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.Diagnostics.Debug.Assert(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;.ReferenceEquals(str3,&amp;nbsp;str4));&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;59&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;60&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;61&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;62&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;5.&amp;nbsp;驻留的字符串不能被GC回收&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;63&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;64&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BuildString5()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;65&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;66&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BuildString();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;67&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;68&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GC.Collect();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;69&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GC.Collect();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;70&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;71&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;72&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;73&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;6.&amp;nbsp;驻留的字符串是基于整个进程范围的，而不是基于当前AppDomain。&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;74&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;75&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BuildString6()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;76&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;77&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AppDomainContext.CreateDomainContext(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Domain&amp;nbsp;A&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).Invoke&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Foo&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;(foo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;foo.BuildString());&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;78&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AppDomainContext.CreateDomainContext(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Domain&amp;nbsp;B&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).Invoke&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Foo&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;(foo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;foo.BuildString());&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;79&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AppDomainContext.CreateDomainContext(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;Domain&amp;nbsp;C&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).Invoke&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Foo&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;(foo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;foo.BuildString());&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;80&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;81&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;82&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;AppDomainContext&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;83&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;84&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;AppDomain&amp;nbsp;AppDomain&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;set&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;85&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;AppDomainContext(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;friendlyName)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;86&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;87&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.AppDomain&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;AppDomain.CreateDomain(friendlyName);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;88&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;89&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;90&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;AppDomainContext&amp;nbsp;CreateDomainContext(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;friendlyName)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;91&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;92&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;AppDomainContext(friendlyName);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;93&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;94&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;95&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Invoke&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;T&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;(Action&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;T&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;action)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;96&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;97&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;T&amp;nbsp;instance&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(T)&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.AppDomain.CreateInstanceAndUnwrap(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;&lt;span style="color: #000000"&gt;(T).Assembly.FullName,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;&lt;span style="color: #000000"&gt;(T).FullName);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;98&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;action(instance);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;99&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;100&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;101&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;102&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Foo&amp;nbsp;:&amp;nbsp;MarshalByRefObject&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;103&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;104&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BuildString()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;105&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;106&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ABCDEFG&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;107&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str2&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ABCDEFG&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;108&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str3&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;1234567&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;109&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str4&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;1234567&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;110&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;111&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;112&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;原文：&lt;a href="http://www.cnblogs.com/artech/archive/2010/11/25/internedstring.html" target="_blank"&gt;通过内存分析工具来证明字符串驻留机制&lt;/a&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/wf225/aggbug/1965236.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wf225/archive/2011/02/25/1965236.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wf225/archive/2010/12/03/1895692.html</id><title type="text">AutoCAD WS for iPhone, iPod toch, and iPad</title><summary type="text">AutoCAD WS 是全新的免费网络应用程序，利用云计算技术，能够让AutoCAD用户通过网络浏览器和移动设备查看、编辑和共享AutoCAD设计及DWG格式文件。此外，用户现在还可以到Apple iTunes App Store免费下载iOS版AutoCAD WS移动应用程序，该应用程序能让用户在iPhone、iPad和iPod touch上使用AutoCAD WS。</summary><published>2010-12-03T09:31:00Z</published><updated>2010-12-03T09:31:00Z</updated><author><name>无锋不起浪</name><uri>http://www.cnblogs.com/wf225/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wf225/archive/2010/12/03/1895692.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wf225/archive/2010/12/03/1895692.html"/><content type="html">&lt;p&gt;2010年10月26日，欧特克（Autodesk）宣布推出AutoCAD WS。这款全新的&lt;span style="color: #00ff00"&gt;&lt;strong&gt;免费&lt;/strong&gt;&lt;/span&gt;网络应用程序利用云计算技术，能够让AutoCAD用户通过网络浏览器和移动设备查看、编辑和共享AutoCAD设计及DWG格式文件。此外，用户现在还可以到Apple iTunes App Store免费下载iOS版AutoCAD WS移动应用程序，该应用程序能让用户在iPhone、iPad和iPod touch上使用AutoCAD WS。&lt;/p&gt;&#xD;
&lt;p align="center"&gt;&lt;br /&gt;&lt;img alt="图片" src="http://a1.phobos.apple.com/us/r1000/045/Purple/a5/6b/82/mzl.ttegboad.320x480-75.jpg" width="320" height="480" appendurl="1" /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;img alt="图片" src="http://a1.phobos.apple.com/us/r1000/010/Purple/89/38/da/mzl.vwfjqafz.320x480-75.jpg" width="320" height="480" appendurl="1" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;AutoCAD WS能让AutoCAD用户与分散在世界各地的利益相关方开展虚拟设计评审，有助于避免设计团队通过电子邮件共享文件或在现场通过纸质文件回复产生的版本控制和准确性问题。AutoCAD WS还利用谷歌地图的集成服务，在CAD图纸中植入地图，帮助用户在环境中更好地展示设计。 &lt;br /&gt;&lt;br /&gt;　　AutoCAD WS功能还包括： &lt;br /&gt;&lt;br /&gt;　　-网络和移动DWG浏览器可通过网络浏览器或移动设备在任何地方访问AutoCAD设计。 &lt;br /&gt;&lt;br /&gt;　　-在线DWG编辑器支持100多个常见的AutoCAD绘图和编辑工具，对CAD专业人士和非CAD专业人士都很直观。 &lt;br /&gt;&lt;br /&gt;　　-内置共享功能可生成一个唯一的URL，邀请利益相关方在线查看DWG文件，并能设定其他人查看、编辑或下载图纸和文件夹的控制权限。 &lt;br /&gt;&lt;br /&gt;　　-方便的在线存储功能可以把DWG和DXF文件、图像文件以及其他相关项目文件整理存放到项目文件夹中，支持包括DOC、JPEG、PNG和PDF在内的多种文件格式。 &lt;br /&gt;&lt;br /&gt;　　-实时协作能让多人同时操作同一个DWG文件，实时查看所做变更。 &lt;br /&gt;&lt;br /&gt;　　-设计时间表能捕捉和跟踪所有图纸变更，便于版本控制和审核。 &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;AutoCAD&amp;nbsp;WS Tutorials:&amp;nbsp;&lt;a href="http://www.autocadws.com/tutorials/"&gt;http://www.autocadws.com/tutorials/&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;App Store Free Download:&amp;nbsp;&lt;a href="http://itunes.apple.com/us/app/autocad-ws/id393149734"&gt;http://itunes.apple.com/us/app/autocad-ws/id393149734&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p align="left"&gt;&lt;strong&gt;视频: AutoCAD WS on ipad&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/wf225/aggbug/1895692.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wf225/archive/2010/12/03/1895692.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wf225/archive/2010/10/27/1863019.html</id><title type="text">NAnt.Core.Ext: MailLogger2 and MailTask2</title><summary type="text">NAnt 目前的版本虽然支持 Email 的发送，但其不支持SSL的Email，这样我们要想直接使 NAnt 通过GMail 或126 等邮箱发送就不可能了。究其原因，是因为 NAnt.Core.Tasks.MailTask 和 NAnt.Core.MailLogger 中是用 System.Web.Mail.MailMessage 类构造电子邮件的属性和方法，这各类没有提供SSL 的支持。而 S...</summary><published>2010-10-27T15:31:00Z</published><updated>2010-10-27T15:31:00Z</updated><author><name>无锋不起浪</name><uri>http://www.cnblogs.com/wf225/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wf225/archive/2010/10/27/1863019.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wf225/archive/2010/10/27/1863019.html"/><content type="html">&lt;p&gt;NAnt 目前的版本虽然支持 Email 的发送，但其不支持SSL的Email，这样我们要想直接使 NAnt 通过GMail 或126 等邮箱发送就不可能了。究其原因，是因为 NAnt.Core.Tasks.MailTask 和 NAnt.Core.MailLogger 中是用 System.Web.Mail.MailMessage 类构造电子邮件的属性和方法，这各类没有提供SSL 的支持。而 System.Web.Mail 这个namespace 下的所有类已经被 System.Net.Mail 所替代。NAnt.Core.Ext就是基于这个对NAnt 的一个扩展。&lt;/p&gt;&#xD;
&lt;p&gt;下载地址：&lt;a href="http://files.cnblogs.com/wf225/NAnt.Core.Ext.zip"&gt;NAnt.Core.Ext.zip&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000ff"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #ff00ff"&gt;xml&amp;nbsp;version="1.0"&amp;nbsp;encoding="utf-8"&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;project&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="MailLogger&amp;nbsp;Test"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;default&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="build"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="nant.settings.currentframework"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="net-4.0"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Platform"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Win32"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;overwrite&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="false"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="build.configuration"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="debug"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Dir.Vault"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${directory::get-parent-directory(project::get-base-directory())}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;overwrite&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="false"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Dir.Framework"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${framework::get-framework-directory(framework::get-target-framework())}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;overwrite&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="false"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Dir.Solution"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Dir.Vault}\TestSolution"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;overwrite&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="false"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Dir.SolutionFile"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Dir.Solution}\Test.sln"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;overwrite&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="false"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="nant.onfailure"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="failed"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="nant.onsuccess"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="succeeded"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;target&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="loadExt"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;loadtasks&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;fileset&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;include&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Dir.Vault}\BuildFiles\bin\NAnt.Core.Ext.dll"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;fileset&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;loadtasks&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;target&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;22&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;target&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="build"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;depends&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="loadExt"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;23&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;call&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;target&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="clean"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;failonerror&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="false"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;24&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;call&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;target&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="syncCode"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;failonerror&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="false"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;25&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;call&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;target&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="msBuild"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;failonerror&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;26&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;target&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;27&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;28&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;target&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="clean"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;29&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;delete&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;dir&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Dir.Solution}\Output"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;30&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;target&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;31&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;32&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;target&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="msBuild"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;depends&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=""&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;33&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;exec&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;program&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Dir.Framework}\MSBuild.exe"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;34&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;commandline&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Dir.SolutionFile}&amp;nbsp;/t:rebuild&amp;nbsp;/p:Configuration=${build.configuration}&amp;nbsp;/l:FileLogger,Microsoft.Build.Engine;logfile=MsBuild.log&amp;nbsp;append=true;verbosity=diagnostic;encoding=utf-8&amp;nbsp;/verbosity:quiet"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;workingdir&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="."&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;35&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;target&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;36&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;37&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;target&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="syncCode"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;depends&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=""&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;38&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;p4sync&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;39&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;view&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="//path/..."&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;40&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;user&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="username"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;41&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;port&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="server:port"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;42&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="clientname"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;43&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;force&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="false"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;44&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;verbose&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="false"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;45&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;target&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;46&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;47&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;Send&amp;nbsp;Email&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;48&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Mail.Mailhost"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="smtp.gmail.com"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;49&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Mail.From"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="****@gmail.com"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;50&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Mail.To"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="****@126.com"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;51&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Mail.Username"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="****"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;52&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Mail.Password"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="****"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;53&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;54&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;cmd:&amp;nbsp;nant&amp;nbsp;-buildfile:default.build&amp;nbsp;-logger:NAnt.Core.MailLogger&amp;nbsp;-l:NantBuild.log&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;55&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="MailLogger2.mailhost"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Mail.Mailhost}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;56&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="MailLogger2.from"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Mail.From}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;57&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="MailLogger2.smtp.username"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Mail.Username}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;58&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="MailLogger2.smtp.password"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Mail.Password}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;59&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="MailLogger2.smtp.enablessl"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;60&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="MailLogger2.body.encoding"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="utf-8"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;61&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="MailLogger2.smtp.port"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="587"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000"&gt;Port:&amp;nbsp;465&amp;nbsp;or&amp;nbsp;587&lt;/span&gt;&lt;span style="color: #008000"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;62&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="MailLogger2.failure.notify"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;63&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="MailLogger2.success.notify"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;64&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="MailLogger2.failure.to"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Mail.To}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;65&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="MailLogger2.success.to"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Mail.To}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;66&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="MailLogger2.failure.subject"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Build&amp;nbsp;failure!"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;67&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;property&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="MailLogger2.success.subject"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Build&amp;nbsp;successful!"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;68&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;69&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;target&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="succeeded"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;70&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;mail2&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;71&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;mailhost&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Mail.Mailhost}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;72&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isSSL&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;73&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;username&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Mail.Username}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;74&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;password&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Mail.Password}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;75&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;port&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="587"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;76&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;from&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Mail.From}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;77&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tolist&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Mail.To}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;78&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;subject&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Build&amp;nbsp;succeeded!"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;79&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isbodyhtml&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="false"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;80&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Build&amp;nbsp;succeeded!"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;81&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;files&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;82&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;include&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="*.log"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;83&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;files&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;84&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;attachments&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;85&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;include&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="*.log"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;86&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;attachments&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;87&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;mail2&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;88&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;target&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;89&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;90&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;target&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="failed"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;91&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;mail2&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;92&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;mailhost&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Mail.Mailhost}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;93&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isSSL&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="true"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;94&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;username&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Mail.Username}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;95&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;password&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Mail.Password}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;96&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;port&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="587"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;97&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;from&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Mail.From}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;98&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tolist&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="${Mail.To}"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;99&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;subject&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Build&amp;nbsp;failed!"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;100&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isbodyhtml&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="false"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;101&lt;/span&gt;&amp;nbsp;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Build&amp;nbsp;failed!"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;102&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;files&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;103&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;include&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="*.log"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;104&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;files&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;105&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;attachments&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;106&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;include&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="*.log"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;107&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;attachments&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;108&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;mail2&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;109&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;target&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;110&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;111&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;project&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wf225/aggbug/1863019.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wf225/archive/2010/10/27/1863019.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wf225/archive/2010/10/20/1856518.html</id><title type="text">C#.NET: Compress/Decompress zip file using System.IO.Packaging</title><summary type="text">.NET 中常见的 ZIP 操作类库： SharpZipLib，J# Zip Library，zLib.NET。.NET 3.0 开始，新增了 System.IO.Packaging.ZipPackage，从此再不用第三方的Lib了。</summary><published>2010-10-20T04:24:00Z</published><updated>2010-10-20T04:24:00Z</updated><author><name>无锋不起浪</name><uri>http://www.cnblogs.com/wf225/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wf225/archive/2010/10/20/1856518.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wf225/archive/2010/10/20/1856518.html"/><content type="html">&lt;p&gt;.NET 中常见的 ZIP 操作类库： SharpZipLib，J# Zip Library，zLib.NET。&lt;/p&gt;&#xD;
&lt;p&gt;.NET 3.0 开始，新增了 System.IO.Packaging.ZipPackage，从此再不用第三方的Lib了。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.Collections.Generic;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.IO;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.IO.Packaging;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SharpZip&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;const&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;long&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BUFFER_SIZE&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;4096&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;CompressFiles(List&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;fileNames,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;zipFileName)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;file&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;in&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;fileNames)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;13&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;14&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CompressFile(zipFileName,&amp;nbsp;file);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;15&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;16&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;17&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;18&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;CompressFile(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;zipFilename,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;fileToAdd)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;19&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;20&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(Package&amp;nbsp;zip&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.IO.Packaging.Package.Open(zipFilename,&amp;nbsp;FileMode.OpenOrCreate))&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;21&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;22&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;destFilename&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;.\\&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Path.GetFileName(fileToAdd);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;23&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Uri&amp;nbsp;uri&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;PackUriHelper.CreatePartUri(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Uri(destFilename,&amp;nbsp;UriKind.Relative));&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;24&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(zip.PartExists(uri))&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;25&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;26&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;zip.DeletePart(uri);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;27&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;28&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PackagePart&amp;nbsp;part&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;zip.CreatePart(uri,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;""&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;CompressionOption.Normal);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;29&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(FileStream&amp;nbsp;fileStream&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;FileStream(fileToAdd,&amp;nbsp;FileMode.Open,&amp;nbsp;FileAccess.Read))&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;30&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;31&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(Stream&amp;nbsp;dest&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;part.GetStream())&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;32&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;33&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CopyStream(fileStream,&amp;nbsp;dest);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;34&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;35&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;36&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;37&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;38&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;39&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DecompressFile(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;zipFilename,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;outPath)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;40&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;41&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(Package&amp;nbsp;zip&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.IO.Packaging.Package.Open(zipFilename,&amp;nbsp;FileMode.Open))&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;42&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;43&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(PackagePart&amp;nbsp;part&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;in&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;zip.GetParts())&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;44&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;45&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;outFileName&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Path.Combine(outPath,&amp;nbsp;part.Uri.OriginalString.Substring(&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;));&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;46&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(System.IO.FileStream&amp;nbsp;outFileStream&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.IO.FileStream(outFileName,&amp;nbsp;FileMode.Create))&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;47&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;48&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(Stream&amp;nbsp;inFileStream&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;part.GetStream())&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;49&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;50&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CopyStream(inFileStream,&amp;nbsp;outFileStream);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;51&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;52&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;53&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;54&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;55&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;56&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;57&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;CopyStream(System.IO.Stream&amp;nbsp;inputStream,&amp;nbsp;System.IO.Stream&amp;nbsp;outputStream)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;58&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;59&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;long&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;bufferSize&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;inputStream.Length&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;BUFFER_SIZE&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;?&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;inputStream.Length&amp;nbsp;:&amp;nbsp;BUFFER_SIZE;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;60&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;[]&amp;nbsp;buffer&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;byte&lt;/span&gt;&lt;span style="color: #000000"&gt;[bufferSize];&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;61&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;bytesRead&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;62&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;long&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;bytesWritten&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;63&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;while&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;((bytesRead&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;inputStream.Read(buffer,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;buffer.Length))&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;!=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;64&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;65&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;outputStream.Write(buffer,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;bytesRead);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;66&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bytesWritten&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;bufferSize;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;67&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;68&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;69&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/wf225/aggbug/1856518.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wf225/archive/2010/10/20/1856518.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
