<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>wildhope之窗</title>
	<atom:link href="http://blog.donews.com/wildhope/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.donews.com/wildhope</link>
	<description>随笔杂记</description>
	<lastBuildDate>Sun, 19 Aug 2007 13:07:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>48条最经典的WINDOWS全新小技巧</title>
		<link>http://blog.donews.com/wildhope/archive/2007/08/19/1200670.aspx</link>
		<comments>http://blog.donews.com/wildhope/archive/2007/08/19/1200670.aspx#comments</comments>
		<pubDate>Sun, 19 Aug 2007 13:07:00 +0000</pubDate>
		<dc:creator>wildhope</dc:creator>
				<category><![CDATA[电脑维护]]></category>

		<guid isPermaLink="false">http://blog.donews.com/wildhope/archive/2007/08/19/1200670.aspx</guid>
		<description><![CDATA[http://school.21tx.com/2005/12/28/11895.html&#160;&#160;&#160;&#160;&#160;  <br />1.如果同时有多个窗口打开，想要关闭的话，可以按住shift不放然后点击窗口右 上角的关闭图标. 　　 <br /><br />　　2.在保存网页前，可以按一下&#34;ESC&#34;键(或脱机工作)再保存,这样保存很快 　　 <br /><br />　 　3.用电脑听CD可以不用任何的播放软件，把音箱线直接接到光驱的耳机孔，放入 CD，按光驱上的play键就可以直接听了，这样听歌可以不占用系统资源。（如果你的电脑坏了，不能启动或什么的，一时放在那不能修，千万不要浪费资源 ，把用里面的电源给光驱通上电，就可以暂时做CD机了.　　 <br /><br />　　4.<a target="_blank" href="http://school.21tx.com/tools/IM/msn/">MSN</a>中发消息的时候是按enter的，如果想要换行而不想发出消息，可以 shift+enter或ctrl+enter 　　 <b]]></description>
			<content:encoded><![CDATA[<p>http://school.21tx.com/2005/12/28/11895.html&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br />1.如果同时有多个窗口打开，想要关闭的话，可以按住shift不放然后点击窗口右 上角的关闭图标. 　　 </p>
<p>　　2.在保存网页前，可以按一下&quot;ESC&quot;键(或脱机工作)再保存,这样保存很快 　　 </p>
<p>　 　3.用电脑听CD可以不用任何的播放软件，把音箱线直接接到光驱的耳机孔，放入 CD，按光驱上的play键就可以直接听了，这样听歌可以不占用系统资源。（如果你的电脑坏了，不能启动或什么的，一时放在那不能修，千万不要浪费资源 ，把用里面的电源给光驱通上电，就可以暂时做CD机了.　　 </p>
<p>　　4.<a target="_blank" href="http://school.21tx.com/tools/IM/msn/">MSN</a>中发消息的时候是按enter的，如果想要换行而不想发出消息，可以 shift+enter或ctrl+enter 　　 </p>
<p>　　5.浏览器的地址栏里可以调试简短的<a target="_blank" href="http://school.21tx.com/website/html/">HTML</a>代码。方法如下： 地址栏写 about :abc 回车，就看到效果了. 　　 </p>
<p>　　6.<a target="_blank" href="http://school.21tx.com/os/windows/">Windows</a>快捷键： </p>
<p>　　win+m 显示桌面 </p>
<p>　　win+pause 系统属性 </p>
<p>　　快速重新启动:按确定前先按shift(不适用于2k、xp）. </p>
<p>　　彻底删除:shift+del </p>
<p>　　不让<a target="_blank" href="http://school.21tx.com/media/cd/">光盘</a>自动运行:按shift </p>
<p>　　Ctrl+Esc：相当于&quot;开始&quot;或WIN键 </p>
<p>　　Ctrl+Home：将游标移至文字编辑区的开始始(Home单用：移至列首) </p>
<p>　　Ctrl+End：将光标移至文字编辑区的终点(End单用：移至列尾) </p>
<p>　　Alt+F4：关闭当前视窗（若是点一下桌面再按则为关机) </p>
<p>　　F2：更改名称 </p>
<p>　　windows+e 资源管理器. </p>
<p>　　windows+r 运行. </p>
<p>　　windows+f 查找. </p>
<p>　　windows+u 关闭系统. </p>
<p>　　windows+d最小化所有窗口，再按一次Win+D可回到最小化前的窗口. </p>
<p>　　windows+m最小化所有窗口，但再按一次无法回到最小化前的窗口. </p>
<p>　　Shift+F10，可以打开所选项目的右键菜单. </p>
<p>　　按住 CTRL+SHIFT 拖动文件:创建快捷方式. 　　 </p>
<p>　　7.关机快捷方式 </p>
<p>　　(1). 在桌面空白位置按鼠标右键 -&gt; &lt;新建&gt; -&gt; 选&lt;快捷方式&gt; </p>
<p>　　(2). 在&lt;指令行&gt;键入 rundll.exe user.exe,exitwindows </p>
<p>　　(3). 在&lt;选择快捷方式 的名称&gt;键入&lt;关闭Window&gt;或你想要的名称 -&gt; 按&lt;完成 &gt; <br />　　8.重新启动快捷方式 </p>
<p>　　(1). 重复以上 (1) </p>
<p>　　(2). 在&lt;指令行&gt;键入 rundll.exe user.exe,exitwindow***ec </p>
<p>　　(3). 在&lt;选择快捷方式的名称&gt;键入&lt;重新启动Restart&gt;或你想要的名称 -&gt; 按&lt; 完成&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/wildhope/archive/2007/08/19/1200670.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>48条最经典的WINDOWS全新小技巧</title>
		<link>http://blog.donews.com/wildhope/archive/2007/08/19/1200669.aspx</link>
		<comments>http://blog.donews.com/wildhope/archive/2007/08/19/1200669.aspx#comments</comments>
		<pubDate>Sun, 19 Aug 2007 13:06:00 +0000</pubDate>
		<dc:creator>wildhope</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://blog.donews.com/wildhope/archive/2007/08/19/1200669.aspx</guid>
		<description><![CDATA[http://school.21tx.com/2005/12/28/11895.html]]></description>
			<content:encoded><![CDATA[<p>http://school.21tx.com/2005/12/28/11895.html</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/wildhope/archive/2007/08/19/1200669.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to get only TOP 5 record in dataset</title>
		<link>http://blog.donews.com/wildhope/archive/2005/11/23/636668.aspx</link>
		<comments>http://blog.donews.com/wildhope/archive/2005/11/23/636668.aspx#comments</comments>
		<pubDate>Wed, 23 Nov 2005 02:22:00 +0000</pubDate>
		<dc:creator>wildhope</dc:creator>
				<category><![CDATA[ComponentOne]]></category>

		<guid isPermaLink="false">http://blog.donews.com/wildhope/archive/2005/11/23/636668.aspx</guid>
		<description><![CDATA[One of the possible ways is to create a SQL-based table and a table view<br/>based on that table. Then, create C1DataSetLogic objects (from the context<br/>menu of C1SchemaDef) and wire to the BeforeGenerateSql event.<br/><br/>private void dataset_DataSet1_BeforeGenerateSql(object sender, C1.Data.GenerateSqlEventArgs e)<br/>{<br/>&#160;&#160;&#160; if (e.TableView.Name == &#34;MyTableView&#34;)<br/>&#160;&#160;&#160; {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; e.Command = new OleDbCommand]]></description>
			<content:encoded><![CDATA[<p>One of the possible ways is to create a SQL-based table and a table view<br/>based on that table. Then, create C1DataSetLogic objects (from the context<br/>menu of C1SchemaDef) and wire to the BeforeGenerateSql event.<br/><br/>private void dataset_DataSet1_BeforeGenerateSql(object sender, C1.Data.GenerateSqlEventArgs e)<br/>{<br/>&nbsp;&nbsp;&nbsp; if (e.TableView.Name == &quot;MyTableView&quot;)<br/>&nbsp;&nbsp;&nbsp; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.Command = new OleDbCommand(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;SELECT TOP 5 Field1, Field2, Field3 FROM SomeTable&quot;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (OleDbConnection)e.TableView.Diagram.Schema.Connections[&quot;Connection&quot;].DbConnection);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.Status = DataSetEventStatusEnum.Skip;<br/>&nbsp;&nbsp;&nbsp; }<br/>}<br/><br/>However, it may be more easier to use standard OleDbDataAdapter with custom SQL<br/>statement for this purpose.<br/><br/>Regards,<br/><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/wildhope/archive/2005/11/23/636668.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Copy Book and copy sheet (C1Excel)</title>
		<link>http://blog.donews.com/wildhope/archive/2005/11/22/636179.aspx</link>
		<comments>http://blog.donews.com/wildhope/archive/2005/11/22/636179.aspx#comments</comments>
		<pubDate>Tue, 22 Nov 2005 14:04:00 +0000</pubDate>
		<dc:creator>wildhope</dc:creator>
				<category><![CDATA[ComponentOne]]></category>

		<guid isPermaLink="false">http://blog.donews.com/wildhope/archive/2005/11/22/636179.aspx</guid>
		<description><![CDATA[<font face="Times New Roman" size="3">Well, would it be possible to give 2/3 code snippets where you are using <br/>&#62; the new clone function to copy sheets from one book to another?<br/><br/>Sure, I hope this is enough:<br/><br/><br/>&#160;&#160;&#160; c1XLBook1.Load(dlg.FileName);<br/>&#160;&#160;&#160; C1XLBook cloneBook = CloneBook(this.c1XLBook1);<br/>&#160;&#160;&#160; cloneBook.Save(dlg.FileName + &#34;clone.xls&#34;);<br/><br/>&#160;&#160;&#160; private C1XLBook CloneBook(C1.C1Excel.]]></description>
			<content:encoded><![CDATA[<p><font face="Times New Roman" size="3">Well, would it be possible to give 2/3 code snippets where you are using <br/>&gt; the new clone function to copy sheets from one book to another?<br/><br/>Sure, I hope this is enough:<br/><br/><br/>&nbsp;&nbsp;&nbsp; c1XLBook1.Load(dlg.FileName);<br/>&nbsp;&nbsp;&nbsp; C1XLBook cloneBook = CloneBook(this.c1XLBook1);<br/>&nbsp;&nbsp;&nbsp; cloneBook.Save(dlg.FileName + &quot;clone.xls&quot;);<br/><br/>&nbsp;&nbsp;&nbsp; private C1XLBook CloneBook(C1.C1Excel.C1XLBook book)<br/>&nbsp;&nbsp;&nbsp; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C1XLBook clone = new C1XLBook();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clone.Sheets.Clear();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (XLSheet sheet in book.Sheets)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clone.Sheets.Add(sheet.Clone());<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return clone;<br/>&nbsp;&nbsp;&nbsp; }<br/></font></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/wildhope/archive/2005/11/22/636179.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET tools 列表</title>
		<link>http://blog.donews.com/wildhope/archive/2005/04/30/358364.aspx</link>
		<comments>http://blog.donews.com/wildhope/archive/2005/04/30/358364.aspx#comments</comments>
		<pubDate>Sat, 30 Apr 2005 11:15:00 +0000</pubDate>
		<dc:creator>wildhope</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://blog.donews.com/wildhope/archive/2005/04/30/358364.aspx</guid>
		<description><![CDATA[&#160;
最近对.net的辅助工具比较感兴趣，网上也已经有.net的十个必备工具的帖子了，这里提供了一份全面的工具列表：Code generation

NVelocity 
CodeSmith 
X-Code .NET 
XGoF &#8211; NMatrix / DEVerest

Compilation

eXtensible C# &#8211; ResolveCorp 
Mono 
DotGNU &#8211; GNU

Obfuscation

LSW-IL-Obfuscator &#8211; Lesser Software 
Demeanor for .NET &#8211; Wise Owl 
Salamander .NET Obfuscator &#8211; Remotesoft 
Salamander .NET Protector &#8211; Remotesoft 
IL-Obfuscator &#8211; 9rays.Net 
Deploy.NET &#8211; Jungle Creatures 
Dotfuscator &#8211; PreEmptive Solutions (lite version included in Visual Studio 2003) 
XenoCode [...]]]></description>
			<content:encoded><![CDATA[<p><span id="ArticleContent1_ArticleContent1_lblContent">&nbsp;
<p>最近对.net的辅助工具比较感兴趣，网上也已经有.net的十个必备工具的帖子了，<a href="http://www.csharpfriends.com/statics/tools.aspx">这里</a>提供了一份全面的工具列表：<br/>Code generation</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://nvelocity.sourceforge.net/">NVelocity</a> </li>
<li><a href="http://www.ericjsmith.net/codesmith/">CodeSmith</a> </li>
<li><a href="http://www.arithex.com/xcc.html">X-Code .NET</a> </li>
<li>XGoF &#8211; <a href="http://nmatrix.com.ar/">NMatrix</a> / <a href="http://www.deverest.com.ar/">DEVerest</a></li>
</ul>
<p>Compilation</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://www.resolvecorp.com/products.htm">eXtensible C#</a> &#8211; ResolveCorp </li>
<li><a href="http://www.go-mono.com/">Mono</a> </li>
<li><a href="http://www.gnu.org/projects/dotgnu/">DotGNU</a> &#8211; GNU</li>
</ul>
<p>Obfuscation</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://www.lesser-software.com/en/content/products/LSW%20DotNet-Tools/LSW_DotNet_IL-Obfuscator.htm">LSW-IL-Obfuscator</a> &#8211; Lesser Software </li>
<li><a href="http://www.wiseowl.com/products/Products.aspx">Demeanor for .NET</a> &#8211; Wise Owl </li>
<li><a href="http://www.remotesoft.com/salamander/obfuscator.html">Salamander .NET Obfuscator</a> &#8211; Remotesoft </li>
<li><a href="http://www.remotesoft.com/salamander/protector.html">Salamander .NET Protector</a> &#8211; Remotesoft </li>
<li><a href="http://www.9rays.net/cgi-bin/components.cgi?act=1&amp;cid=86">IL-Obfuscator</a> &#8211; 9rays.Net </li>
<li><a href="http://www.junglecreatures.com/jungle/index.jsp">Deploy.NET</a> &#8211; Jungle Creatures </li>
<li><a href="http://www.preemptive.com/dotfuscator/index.html">Dotfuscator</a> &#8211; PreEmptive Solutions (lite version included in Visual Studio 2003) </li>
<li><a href="http://www.xenocode.com/">XenoCode</a> &#8211; Oak Vale Networks </li>
<li><a href="http://thinstall.com/dotnet/">Thinstall</a> &#8211; Jonathan Clark</li>
</ul>
<p>Decompilation</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://www.remotesoft.com/salamander/index.html">Salamander .NET Decompiler</a> &#8211; Remotesoft </li>
<li><a href="http://www.saurik.com/net/exemplar/">Anakrino</a></li>
</ul>
<p>Object Browsing</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://www.aisto.com/roeder/dotnet/">.NET Reflector</a>&nbsp;- Lutz Roeder </li>
<li><a href="http://www.lesser-software.com/en/content/products/LSW%20DotNet-Tools/LSW_DotNet_Reflection_Browser.htm">LSW-DotNet-Reflection-Browser</a> &#8211; Lesser Software </li>
<li><a href="http://www.nogoop.com/">.NET Component Inspector</a> &#8211; nogoop software </li>
<li><a href="http://www.sliver.com/dotnet/statebrowser/">Object State Browser</a> &#8211; Jeff Key</li>
</ul>
<p>Refactoring</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://dotnetrefactoring.com/">C# Refactoring Tool</a> &#8211; .NET Refactoring </li>
<li><a href="http://www.xtreme-simplicity.net/CSharpRefactory.html">C# Refactory</a> &#8211; Xtreme Simplicity</li>
</ul>
<p>Persistence and data-related code generation</p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px"><p><em>See also &quot;RAD Tools &#8211; Application Development Automation&quot; below</em></p></blockquote>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://dotnetweblogs.com/FMARGUERIE/BlogAdmin/www.microsoft.fr/olymars/webupdate.xml">OlyMars</a> (SQL Server Centric .NET Code Generator) </li>
<li><a href="http://dotnetweblogs.com/FMARGUERIE/BlogAdmin/www.sd.nl/software/default.asp">LLBLGen</a> &#8211; Solutions Design </li>
<li><a href="http://dotnetweblogs.com/FMARGUERIE/BlogAdmin/www.gavinjoyce.com">.NET N-Tier Framework Generator</a>&nbsp;- Gavin Joyce </li>
<li><a href="http://www.thona-consulting.com/content/products/entitybroker.aspx">Entity Broker</a> &ndash; Thona Consulting </li>
<li><a href="http://kickstarter.net/">KickStarter.Net</a> </li>
<li><a href="http://www.alachisoft.com/">TierDeveloper</a>&nbsp;- AlachiSoft </li>
<li><a href="http://www.codeproject.com/dotnet/spinvoke.asp">SP/Invoke</a> </li>
<li><a href="http://ww.evaluant.com/">Data Tier Modeler</a> (DTM) </li>
<li><a href="http://www.pragmatier.com/">Pragmatier Data Tier Builder</a> </li>
<li><a href="http://www.olero.com/OrmWeb/">ORM.NET</a> &#8211; Olero Software </li>
<li><a href="http://www.objectpersistence.com/">.Net Persistence</a>&nbsp;- Netica </li>
<li><a href="http://groups.msn.com/objectspaces">ObjectSpaces</a> &#8211; Microsoft </li>
<li><a href="http://sisyphuspf.sourceforge.net/home.htm">Sisyphus Persistence Framework</a> </li>
<li><a href="http://www.mongoosesolutions.com/mg/objectz.net.asp">Objectz.NET</a> &ndash; Mongoose solutions </li>
<li><a href="http://www.visible.com/Products/Developer/index.html">Visible Developer</a> &ndash; Visible Systems </li>
<li><a href="http://sourceforge.net/projects/nhibernate">NHibernate</a> </li>
<li><a href="http://www.firestarsoftware.com/products/objectspark.shtml">ObjectSpark</a> &ndash; Firestar Software </li>
<li><a href="http://bbooprevalence.sourceforge.net/">Bamboo.Prevalence</a> </li>
<li><a href="http://www.adoguy.com/adonetpack.aspx">ADO.NET Powertoys</a> &#8211; The ADO Guy </li>
<li><a href="http://www.nantronix.net/Products/DB2NET.aspx">Database to .NET</a> &#8211; Nantronix Software </li>
<li><a href="http://www.xheo.com/Products/Enterprise/">Xheo.Enterprise</a> &#8211; Xheo</li>
</ul>
<p>RAD Tools &#8211; Application Development Automation</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://dotnetweblogs.com/FMARGUERIE/BlogAdmin/www.deklarit.com">DeKlarit</a> &#8211; ARTech </li>
<li><a href="http://www.alphora.com/">DataPhor</a> &#8211; Alphora </li>
<li><a href="http://www.compilex.com/">CompileX</a> &#8211; Atlantis DB Software</li>
</ul>
<p>Model Driven Architecture</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://www.dotnetbuilders.com/Constructor.aspx">Constructor()</a> &#8211; Dot Net Builders</li>
</ul>
<p>Modeling &#8211; UML</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://www.rational.com/products/xde/index.jsp">Rational XDE</a> &#8211; IBM </li>
<li><a href="http://www.microsoft.com/office/visio/default.asp">Visio</a> &#8211; Microsoft (part of Visual Studio .NET Enterprise Architect edition) </li>
<li><a href="http://www.visualcase.com/">Visual Case</a> &#8211; Artiso</li>
</ul>
<p>IDEs</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://msdn.microsoft.com/vstudio/">Visual Studio .NET</a> &#8211; Microsoft </li>
<li><a href="http://www.icsharpcode.net/OpenSource/SD/">SharpDevelop</a> </li>
<li><a href="http://www.sapien.com/primalcode.htm">PrimalCode</a> &#8211; Sapien </li>
<li><a href="http://www.asp.net/webmatrix/default.aspx?tabindex=4&amp;tabid=46">ASP.NET Web Matrix</a> &#8211; Microsoft </li>
<li><a href="http://www.improve-technologies.com/alpha/esharp/">Improve C# Plugin for Eclipse</a> &#8211; Improve</li>
</ul>
<p>Builds</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://nant.sourceforge.net/">NAnt</a> </li>
<li><a href="http://sourceforge.net/projects/nantcontrib">SLiNgshoT</a> </li>
<li><a href="http://draconet.sourceforge.net/">Draco.NET</a> </li>
<li><a href="http://www.continuousintegration.net/">CruiseControl.NET</a> </li>
<li><a href="http://www.atozedsoftware.com/finalbuilder/">FinalBuilder</a> &ndash; Atozed Software </li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b32497b0-77f7-4831-9c55-58bf3962163e&amp;DisplayLang=en">BuildIt</a>&nbsp;- Microsoft </li>
<li><a href="http://www.kinook.com/VisBuildPro/">Visual Build Professional</a> &#8211; Kinook Software</li>
</ul>
<p>Testing</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://nunit.org/">NUnit</a> </li>
<li><a href="http://sourceforge.net/projects/nunitaddin">NUnitAddin</a> </li>
<li><a href="http://nunitasp.sourceforge.net/">NUnitAsp</a> </li>
<li><a href="http://www.csunit.org/">csUnit</a> </li>
<li><a href="http://www.sourceforge.net/projects/dotnetmock">.NET Mock</a> </li>
<li><a href="http://x-unity.miik.com.ua/">X-Unity</a> &ndash; MIIK Ltd. </li>
<li><a href="http://www.unittesting.com/">HarnessIt</a> &ndash; United Binary </li>
<li><a href="http://www.segue.com/html/s_solutions/s_performer/s_performer_dotnet_explorer.htm">SilkPerformer .NET Explorer</a> &#8211; Segue </li>
<li><a href="http://www.parasoft.com/jsp/products/home.jsp?product=TestNet&amp;itemId=120">Test.NET</a> &#8211; Parasoft</li>
</ul>
<p>Code validation &#8211; Standard verifiers</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://www.gotdotnet.com/team/libraries/">FxCop</a> &#8211; Microsoft </li>
<li><a href="http://www.doteasy.addr.com/">DotEASY</a></li>
</ul>
<p>Profiling &#8211; Monitoring &#8211; Performance Testing &#8211; Optimization</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://nprof.sourceforge.net/">nprof</a> </li>
<li>Application&nbsp;Center Test &#8211; Microsoft (part of Visual Studio .NET Enterprise editions) </li>
<li><a href="http://www.compuware.com/products/devpartner/profiler/">DevPartner Profiler</a> &#8211; Compuware Corporation </li>
<li><a href="http://www.compuware.com/products/devpartner/studio/">DevPartner Studio</a> &#8211; Compuware Corporation </li>
<li><a href="http://www.automatedqa.com/products/aqnet.asp">AQtime .NET</a> &#8211; AutomatedQA </li>
<li><a href="http://www.rational.com/products/quantify_nt/index.jsp?SMSESSION=NO">Rational Quantify for Windows</a> &#8211; IBM </li>
<li><a href="http://www.scitech.se/memprofiler/">.NET Memory Profiler</a> &#8211; SciTech Software AB </li>
<li><a href="http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=36a3e666-6877-4c26-b62d-bfd7cb3154ac">Allocation Profiler</a> (<a href="http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=3254325d-a4aa-4bb3-aa86-c72d5104ec74">source</a>)&nbsp;- Microsoft </li>
<li><a href="http://www.red-gate.com/code_profiling.htm">ANTS Profiler</a> &#8211; Red Gate Software </li>
<li><a href="http://www.red-gate.com/dotnet/load_testing.htm">ANTS Load</a> &#8211; Red Gate Software </li>
<li><a href="http://www.aspnetwatchdog.com/">ASPNETWatchDog</a> &#8211; ASPNETWatchDog </li>
<li><a href="http://www.borland.com/opt_profiler/index.html">Optimizeit Profiler</a> &#8211; Borland </li>
<li><a href="http://developer.intel.com/software/products/vtune/">VTune Performance Analyzer</a> &#8211; Intel</li>
</ul>
<p>Documentation &#8211; Code commenting</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://ndoc.sourceforge.net/">NDoc</a> </li>
<li><a href="http://www.aisto.com/roeder/dotnet/">Documentor for .NET</a> &#8211; Lutz Roeder </li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=3eaeb657-98dd-4959-b946-9719fec3a3ce&amp;DisplayLang=en">Visual Studio .NET Help Integration Kit</a> &#8211; Microsoft </li>
<li><a href="http://vb-doc.sourceforge.net/">VB.DOC</a> </li>
<li><a href="http://www.fesersoft.com/products/vbxmlcomments/default.asp">VB.NET XML Comments Creator</a> &#8211; Fesersoft </li>
<li><a href="http://vbxmldoc.tor-erik.net/">VB.NET XML Commentor</a> &#8211; Tor-Erik Hagen </li>
<li><a href="http://www.steema.com/products/teegofer/">TeeGofer</a> &#8211; Steema Software </li>
<li><a href="http://www.macadamian.com/products/codereview/index.html">CodeReview</a> &#8211; Macadamian Technologies</li>
</ul>
<p>Frameworks</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://www.oakleafsd.com/">Mere Mortals .NET Framework</a> &ndash; Oak Leaf Enterprises Solution Design </li>
<li><a href="http://www.radical-technologies.fr/">Odyseus</a> &#8211; Radical Technologies</li>
</ul>
<p>MVC</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://mavnet.sourceforge.net/">Maverick.NET</a></li>
</ul>
<p>AOP</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://www.dsg.cs.tcd.ie/index.php?category_id=169">AspectC#</a> </li>
<li><a href="http://www.dsg.cs.tcd.ie/index.php?category_id=194">Weave.NET</a></li>
</ul>
<p>Code versioning &#8211; Source control</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://msdn.microsoft.com/ssafe/">Visual SourceSafe</a> &#8211; Microsoft (part of Visual Studio .NET Enterprise editions) </li>
<li><a href="http://www.sourcegear.com/vault/index.asp">SourceGear Vault</a> &#8211; SourceGear </li>
<li><a href="http://www.sourcegear.com/sos/index.asp">SourceOffsite</a> &#8211; SourceGear </li>
<li><a href="http://www.sourcegear.com/soscollab/index.asp">SourceOffsite Collaborative Edition</a> &#8211; SourceGear </li>
<li><a href="http://www.jalindi.com/igloo/">Jalindi Igloo</a> </li>
<li><a href="http://cube.iu.hio.no/cgi-bin-s104065/dispatcher.py/index.html">Ankh</a> </li>
<li><a href="http://www.accurev.com/">AccuRev</a></li>
</ul>
<p>Localization</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/entloctoolkit.asp">Enterprise Localization Toolkit</a> &#8211; Microsoft</li>
</ul>
<p>Reporting</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://www.datadynamics.com/arnet/default.htm">ActiveReports</a> &#8211; Data Dynamics </li>
<li><a href="http://www.crystaldecisions.com/products/crystalreports/net/">Crystal Reports</a> &#8211; Crystal Decisions </li>
<li><a href="http://www.9rays.net/cgi-bin/components.cgi?act=1&amp;cid=93">Report Sharp-Shooter</a> &#8211; 9rays.Net</li>
</ul>
<p>Page templating</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://www.wilsondotnet.com/Demos/Generator.aspx">Page Template Generator</a> &#8211; Paul Wilson </li>
<li><a href="http://www.xheo.com/Products/WebSkin/WebTemplate.aspx">Xheo.WebTemplate</a> &#8211; Xheo </li>
<li><a href="http://www.xheo.com/products/webskin/">Xheo.WebSkin</a> &#8211; Xheo</li>
</ul>
<p>Scripting</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://www.alintex.com/products.htm#ash">Alintex Script Host</a>&nbsp;- Alintex </li>
<li><a href="http://www.dotnetframework.de/scripting/dotnetscripting/dsh.en.asp">DOTNET Scripting Host</a> &#8211; Holger Schwichtenberg </li>
<li><a href="http://www.toolsack.com/products/dotnetscripthost/">Toolsack DotNet Script Host</a> &#8211; Toolsack Software</li>
</ul>
<p>Installation</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://www.installshield.com/products/">InstallShield</a> &#8211; InstallShield </li>
<li><a href="http://www.wise.com/visualstudio.asp">Wise for Visual Studio .NET</a>&nbsp;- Wise Solutions</li>
</ul>
<p>Others</p>
<ul style="MARGIN-TOP: 0cm" type="disc">
<li><a href="http://www.wilsondotnet.com/Demos/ViewState.aspx">Page ViewState Parser</a> &#8211; Paul Wilson </li>
<li><a href="http://xmlforasp.net/content.aspx?content=formbuilder.net">FormBuilder.NET</a> &#8211; Dan Wahlin </li>
<li><a href="http://www.sellsbrothers.com/tools/#regexd">RegexDesigner.NET</a> &#8211; Chris Sells </li>
<li><a href="http://www.dvxp.com/downloads.asp#QuickCode.NET">QuickCode.NET</a> &#8211; Development Expertise </li>
<li><a href="http://www.asp.net/Default.aspx?tabindex=7&amp;tabid=41">Cassini Web Server</a> &#8211; Microsoft </li>
<li><a href="http://www.hunterstone.com/editors.aspx">Web.Config Editor</a> &#8211; HunterStone </li>
<li>Xheo.Licensing &#8211; Xheo</li>
</ul>
<p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/wildhope/archive/2005/04/30/358364.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Reflector Add-Ins</title>
		<link>http://blog.donews.com/wildhope/archive/2005/04/30/358329.aspx</link>
		<comments>http://blog.donews.com/wildhope/archive/2005/04/30/358329.aspx#comments</comments>
		<pubDate>Sat, 30 Apr 2005 10:49:00 +0000</pubDate>
		<dc:creator>wildhope</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://blog.donews.com/wildhope/archive/2005/04/30/358329.aspx</guid>
		<description><![CDATA[Hosted by FreeWebs 





.NET Reflector Add-Ins
This website lists add-ins for .NET Reflector. After downloading one of the add-ins copy the files to the same directory as your &#8216;Reflector.exe&#8217; file and load them via the &#8216;Add-Ins&#8217; command under the &#8216;View&#8217; menu. You can download Reflector here.










Reflector.FileDisassembler
This add-in can be used to dump the disassembler output to [...]]]></description>
			<content:encoded><![CDATA[<p>Hosted by <a href="http://www.freewebs.com/">FreeWebs</a> </p>
<p><br/><br />
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<h2>.NET Reflector Add-Ins</h2>
<p>This website lists add-ins for .NET Reflector. After downloading one of the add-ins copy the files to the same directory as your &#8216;Reflector.exe&#8217; file and load them via the &#8216;Add-Ins&#8217; command under the &#8216;View&#8217; menu. You can download Reflector <a href="http://www.aisto.com/roeder/dotnet">here</a>.
</p>
</td>
</tr>
</tbody>
</table>
<hr color="#000000" size="1"/><br/><br />
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td><a href="http://www.denisbauer.com/NETTools/Reflector.Disassembler.jpg" target="_blank"><img src="http://www.freewebs.com/csharp/Reflector/AddIns/Reflector.FileDisassembler.png" border="0" alt=""/></a></td>
<td valign="top" width="420"><b>Reflector.FileDisassembler</b>
<p>This add-in can be used to dump the disassembler output to files for any Reflector supported language. </p>
<p><a href="http://www.denisbauer.com/NETTools/FileDisassembler.aspx" target="_blank">Website</a> <a href="http://www.denisbauer.com/Download.aspx?File=Reflector.FileDisassembler.zip">Download</a> </td>
</tr>
</tbody>
</table>
<p><br/><br />
<hr color="#000000" size="1"/><br/><br />
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td><img src="http://www.freewebs.com/csharp/Reflector/AddIns/Reflector.DelphiLanguage.png" alt=""/> </td>
<td valign="top" width="420"><b>Reflector.DelphiLanguage</b>
<p>The Delphi view that is used inside .NET Reflector provided as a language add-in. </p>
<p><a href="http://www.sawatzki.de/download.htm" target="_blank">Website</a> <a href="http://www.sawatzki.de/Download/DelphiLanguage.zip" target="_blank">Download</a> </p>
</td>
</tr>
</tbody>
</table>
<p><br/><br />
<hr color="#000000" size="1"/><br/><br />
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td><img src="http://www.freewebs.com/csharp/Reflector/AddIns/Reflector.McppLanguage.png" alt=""/> </td>
<td valign="top" width="420"><b>Reflector.McppLanguage</b>
<p>This add-in extends Reflector with a Managed C++ language rendering module. </p>
<p><a href="http://www.testdriven.net/reflector" target="_blank">Website</a> <a href="http://www.testdriven.net/downloads/Reflector.McppLanguage.dll" target="_blank">Download</a></p>
</td>
</tr>
</tbody>
</table>
<p><br/><br />
<hr color="#000000" size="1"/><br/><br />
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td><img src="http://www.freewebs.com/csharp/Reflector/AddIns/Reflector.ChromeLanguage.png" alt=""/> </td>
<td valign="top" width="420"><b>Reflector.ChromeLanguage</b>
<p>This add-in extends Reflector with a Chrome language rendering module. </p>
<p><a href="http://www.remobjects.com/freedownloads.asp?id=57039A86-4B91-40CE-B1FA-A6170083C14C" target="_blank">Website</a> <a href="http://www.remobjects.com/download.asp?id={C0459C4A-EBA9-421F-99DB-73696FD8C24B}" target="_blank">Download</a> </p>
</td>
</tr>
</tbody>
</table>
<p><br/><br />
<hr color="#000000" size="1"/><br/><br />
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td><img src="http://www.freewebs.com/csharp/Reflector/AddIns/Reflector.Diff.png" alt=""/></td>
<td valign="top" width="420"><b>Reflector.Diff</b>
<p>This add-in shows differences between two versions of the same assembly. </p>
<p><a href="http://home.imaginet.co.za/codingsanity/ReflectorDiff.htm" target="_blank">Website</a> <a href="http://home.imaginet.co.za/codingsanity/files/Reflector.Diff.dll">Download</a> </td>
</tr>
</tbody>
</table>
<p><br/><br />
<hr color="#000000" size="1"/><br/><br />
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td><a href="http://www.codeproject.com/csharp/ReflectorAddIn/Reflector3.gif" target="_blank"><img src="http://www.freewebs.com/csharp/Reflector/AddIns/Reflector.VisualStudio.png" border="0" alt=""/></a></td>
<td valign="top" width="420"><b>Reflector.VisualStudio</b>
<p>This program is hosting .NET Reflector inside the Visual Studio 2003 IDE. Run Reflector.VisualStudio.exe to register the add-in with Visual Studio. </p>
<p><a href="http://www.testdriven.net/reflector" target="_blank">Website</a> <a href="http://www.testdriven.net/downloads/ReflectorVsAddin.zip" target="_blank">Download</a> </td>
</tr>
</tbody>
</table>
<p><br/><br />
<hr color="#000000" size="1"/><br/><br />
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td><img src="http://www.freewebs.com/csharp/Reflector/AddIns/Reflector.ClassView.png" alt=""/></td>
<td valign="top" width="420"><b>Reflector.ClassView</b>
<p>Shows class definitions as plain text with color coding. The menu item is registered under the &quot;Tools&quot; menu. </p>
<p><a href="http://workspaces.gotdotnet.com/reflector" target="_blank">Website</a> <a href="http://workspaces.gotdotnet.com/reflector" target="_blank">Download</a> </p>
</td>
</tr>
</tbody>
</table>
<p><br/><br />
<hr color="#000000" size="1"/><br/><br />
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td><img src="http://www.freewebs.com/csharp/Reflector/AddIns/Reflector.CodeModelView.png" alt=""/></td>
<td valign="top" width="420"><b>Reflector.CodeModelView</b>
<p>This add-in shows the underlying code model objects for a selected node in .NET Reflector. The menu item is registered under the &quot;Tools&quot; menu. </p>
<p><a href="http://workspaces.gotdotnet.com/reflector" target="_blank">Website</a> <a href="http://workspaces.gotdotnet.com/reflector" target="_blank">Download</a> </td>
</tr>
</tbody>
</table>
<p><br/><br />
<hr color="#000000" size="1"/><br/><br />
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td><img src="http://www.freewebs.com/csharp/Reflector/AddIns/Reflector.FileGenerator.png" border="0" alt=""/> </td>
<td valign="top" width="420"><b>Reflector.FileGenerator</b>
<p>This add-in can be used to dump the disassembler output to files for any Reflector supported language. </p>
<p><a href="http://www.jasonbock.net/JB/Code/FileGenerator.zip" target="_blank">Download</a> </td>
</tr>
</tbody>
</table>
<p><br/><br />
<hr color="#000000" size="1"/><br/><br />
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td align="left"><a href="http://blog.dotnetwiki.org/images/8/o_assemblygrapherreflector.PNG" target="_blank"><img src="http://www.freewebs.com/csharp/Reflector/AddIns/Reflector.Graph.png" border="0" alt=""/></a></td>
<td valign="top" width="420"><b>Reflector.Graph</b>
<p>This add-in draws assembly dependency graphs and IL graphs. It also supports method ranking and type ranking. </p>
<p><a href="http://blog.dotnetwiki.org/archive/2004/07/13/553.aspx" target="_blank">Website</a> </p>
</td>
</tr>
</tbody>
</table>
<p><br/><br />
<hr color="#000000" size="1"/><br/><br />
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td><img src="http://www.freewebs.com/csharp/Reflector/AddIns/Reflector.OpenRunningAssembly.png" alt=""/></td>
<td valign="top" width="420"><b>Reflector.OpenRunningAssembly</b>
<p>Opens an assembly or dependency from a process running on the system. The menu item is registered under the &quot;Tools&quot; menu. </p>
<p><a href="http://weblogs.asp.net/kdente/archive/2004/06/20/160780.aspx" target="_blank">Website</a> <a href="http://www.denteworld.com/files/OpenRunningAssemblyAddin_05.zip" target="_blank">Download</a> </td>
</tr>
</tbody>
</table>
<p><br/><br />
<hr color="#000000" size="1"/><br/><br />
<table cellspacing="0" cellpadding="0" width="600" border="0">
<tbody>
<tr>
<td><a href="http://blog.dotnetwiki.org/images/12/r_mbunitinreflector.png" target="_blank"><img src="http://www.freewebs.com/csharp/Reflector/AddIns/Reflector.MbUnit.png" border="0" alt=""/></a></td>
<td valign="top" width="420"><b>Reflector.MbUnit</b>
<p>This add-in allows loading and executing MbUnit unit test fixtures in Reflector. The source code is provided online. </p>
<p><a href="http://blog.dotnetwiki.org/archive/2004/06/17/478.aspx" target="_blank">Website</a> </td>
</tr>
</tbody>
</table>
<p><br/><br />
<hr color="#000000" size="1"/><i>Disclaimer: The content of this website is provided &quot;AS IS&quot; with no warranties, and confers no rights.</i> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/wildhope/archive/2005/04/30/358329.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET代码生成工具</title>
		<link>http://blog.donews.com/wildhope/archive/2005/04/26/352639.aspx</link>
		<comments>http://blog.donews.com/wildhope/archive/2005/04/26/352639.aspx#comments</comments>
		<pubDate>Tue, 26 Apr 2005 15:07:00 +0000</pubDate>
		<dc:creator>wildhope</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://blog.donews.com/wildhope/archive/2005/04/26/352639.aspx</guid>
		<description><![CDATA[http://www.codegeneration.net/tiki-index.php?page=NET
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.codegeneration.net/tiki-index.php?page=NET">http://www.codegeneration.net/tiki-index.php?page=NET</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/wildhope/archive/2005/04/26/352639.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C#代码着色网站</title>
		<link>http://blog.donews.com/wildhope/archive/2005/04/25/350954.aspx</link>
		<comments>http://blog.donews.com/wildhope/archive/2005/04/25/350954.aspx#comments</comments>
		<pubDate>Mon, 25 Apr 2005 15:34:00 +0000</pubDate>
		<dc:creator>wildhope</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://blog.donews.com/wildhope/archive/2005/04/25/350954.aspx</guid>
		<description><![CDATA[Code Region#region Code Regionpublic class Code // Code Class&#8230;{&#160;&#160;&#160; private string source; // source variable&#160;&#160;&#160; public Code(string Source) &#8230;{&#160;&#160;&#160;&#160;&#160;&#160;&#160; source = Source; // Source constructor&#160;&#160;&#160; }&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160; public string Source &#8230;{ // Source property&#160;&#160;&#160;&#160;&#160;&#160;&#160; get &#8230;{ return source; }&#160;&#160;&#160;&#160;&#160;&#160;&#160; set ( source = value; }&#160;&#160;&#160; }}#endregion&#160; 

http://www.actiprosoftware.com/Products/DotNet/CodeHighlighter/PasteCode.aspx

http://www.wilsondotnet.com/Demos/CodeView.aspx
]]></description>
			<content:encoded><![CDATA[<p><img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_0_283_Open_Image" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_0_283_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_0_283_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_0_283_Closed_Text.style.display='inline';" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt=""/><img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_0_283_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_0_283_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_0_283_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_0_283_Open_Text.style.display='inline';" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" alt=""/><span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_0_283_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">Code Region</span><span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_0_283_Open_Text"><span style="COLOR: #0000ff">#region</span><span style="COLOR: #000000"> Code Region</span><span style="COLOR: #000000"><br/><img src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align="top" alt=""/></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> Code </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Code Class</span><span style="COLOR: #008000"><br/><img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_52_270_Open_Image" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_52_270_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_52_270_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_52_270_Closed_Text.style.display='inline';" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt=""/><img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_52_270_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_52_270_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_52_270_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_52_270_Open_Text.style.display='inline';" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt=""/></span><span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_52_270_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">&#8230;</span><span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_52_270_Open_Text"><span style="COLOR: #000000">{<br/><img src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align="top" alt=""/>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000"> source; </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> source variable</span><span style="COLOR: #008000"><br/><img src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align="top" alt=""/></span><span style="COLOR: #000000"><br/><img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_126_170_Open_Image" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_126_170_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_126_170_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_126_170_Closed_Text.style.display='inline';" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt=""/><img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_126_170_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_126_170_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_126_170_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_126_170_Open_Text.style.display='inline';" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt=""/>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Code(</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000"> Source) </span><span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_126_170_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">&#8230;</span><span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_126_170_Open_Text"><span style="COLOR: #000000">{<br/><img src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align="top" alt=""/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; source </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Source; </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Source constructor</span><span style="COLOR: #008000"><br/><img src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt=""/></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp; }</span></span><span style="COLOR: #000000"><br/><img src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align="top" alt=""/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/><img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_197_267_Open_Image" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_197_267_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_197_267_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_197_267_Closed_Text.style.display='inline';" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt=""/><img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_197_267_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_197_267_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_197_267_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_197_267_Open_Text.style.display='inline';" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt=""/>&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000"> Source </span><span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_197_267_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">&#8230;</span><span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_197_267_Open_Text"><span style="COLOR: #000000">{ </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Source property</span><span style="COLOR: #008000"><br/><img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_224_241_Open_Image" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_224_241_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_224_241_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_224_241_Closed_Text.style.display='inline';" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt=""/><img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_224_241_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_224_241_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_224_241_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_224_241_Open_Text.style.display='inline';" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt=""/></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">get</span><span style="COLOR: #000000"> </span><span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_224_241_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">&#8230;</span><span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_224_241_Open_Text"><span style="COLOR: #000000">{ </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> source; }</span></span><span style="COLOR: #000000"><br/><img src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt=""/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="COLOR: #0000ff">set</span><span style="COLOR: #000000"> ( source </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> value; }</span></span><span style="COLOR: #000000"><br/><img src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt=""/>&nbsp;&nbsp;&nbsp; }</span></span><span style="COLOR: #000000"><br/><img src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align="top" alt=""/>}<br/><img src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt=""/></span><span style="COLOR: #0000ff">#endregion</span></span><span style="COLOR: #000000">&nbsp; </span></p>
<p><span style="COLOR: #000000"></span></p>
<p><span style="COLOR: #000000"><a href="http://www.actiprosoftware.com/Products/DotNet/CodeHighlighter/PasteCode.aspx">http://www.actiprosoftware.com/Products/DotNet/CodeHighlighter/PasteCode.aspx</a></span></p>
<p><span style="COLOR: #000000"></span></p>
<p><span style="COLOR: #000000"><a href="http://www.wilsondotnet.com/Demos/CodeView.aspx">http://www.wilsondotnet.com/Demos/CodeView.aspx</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/wildhope/archive/2005/04/25/350954.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何破解.NET的程序</title>
		<link>http://blog.donews.com/wildhope/archive/2005/04/25/350213.aspx</link>
		<comments>http://blog.donews.com/wildhope/archive/2005/04/25/350213.aspx#comments</comments>
		<pubDate>Mon, 25 Apr 2005 06:46:00 +0000</pubDate>
		<dc:creator>wildhope</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://blog.donews.com/wildhope/archive/2005/04/25/350213.aspx</guid>
		<description><![CDATA[现在.NET的程序越来越多了，很多人开始关注如何破解.NET的程序。其实个人感觉，.NET程序的破解比传统的容易多了。只要没有被加密，一般的写过程序的人，都可以按照本文的步骤，破解.NET程序。 首先，要准备几样东西： 1，ILDasm，.NET的反汇编工具，.NET Framework SDK自带的，用于程序的反汇编； 2，MSIL的参考书，比如Inside Microsoft IL之类，主要是在对IL不太熟练的情况下，用来查指令码。 3，Anakrino，.NET的反编译工具，可以把.NET的Assembly反编译成c#或者c++的代码。用于分析程序流程。下载地址： http://test.saurik.net/anakrino/ 4，UltraEdit，二进制编辑器，用于搜索、修改.NET可执行程序。 这次我们的目标是一个c#代码生成器，在这里下载： http://www.gavinjoyce.com/nTierGen/default.aspx 。安装了试用版之后，在 c:\program files\www.gavinjoyce.com\.net n-tier framework generator evaluation 1.2 里面找到 nTierGen.eval.1.2.exe 和 Microsoft.ApplicationBlocks.Data.DLL。后一个dll好像跟破解没有太大关系。OK，Let&#8217;&#8217;s go! 第一步：分析定位代码。用Anakrino打开 nTierGen.eval.1.2.exe。在Atweb.CodeGet.Wizard名字空间下，有一个frmWizard。这就是程序的主窗口了。在主窗口里面，有一个事件响应方法叫做 btnNext_Click，在里面找到了这样的代码： if (this.panel2.Visible) { local2 = Helper.IsCaseStudy(this.proj.dbTree); if (this.chkListTables.CheckedItems.Count &#62; this.MAX_TABLES &#38;&#38; !(local2)) MessageBox.Show(&#34;This evaluation release is restricted to &#34; + this.MAX_TABLES.ToString() + &#34; tables. Extra tables [...]]]></description>
			<content:encoded><![CDATA[<p><font face="verdana, arial, helvetica"><font size="2">现在.NET的程序越来越多了，很多人开始关注如何破解.NET的程序。其实个人感觉，.NET程序的破解比传统的容易多了。只要没有被加密，一般的写过程序的人，都可以按照本文的步骤，破解.NET程序。 <br/><br/>首先，要准备几样东西： <br/>1，ILDasm，.NET的反汇编工具，.NET Framework SDK自带的，用于程序的反汇编； <br/>2，MSIL的参考书，比如Inside Microsoft IL之类，主要是在对IL不太熟练的情况下，用来查指令码。 <br/>3，Anakrino，.NET的反编译工具，可以把.NET的Assembly反编译成c#或者c++的代码。用于分析程序流程。下载地址： </font><a href="http://test.saurik.net/anakrino/" target="_blank"><font size="2">http://test.saurik.net/anakrino/</font></a><font size="2"> <br/>4，UltraEdit，二进制编辑器，用于搜索、修改.NET可执行程序。 <br/><br/>这次我们的目标是一个c#代码生成器，在这里下载： </font><a href="http://www.gavinjoyce.com/nTierGen/default.aspx" target="_blank"><font size="2">http://www.gavinjoyce.com/nTierGen/default.aspx</font></a><font size="2"> 。安装了试用版之后，在 c:\program files\</font><a href="http://www.gavinjoyce.com/.net" target="_blank"><font size="2">www.gavinjoyce.com\.net</font></a><font size="2"> n-tier framework generator evaluation 1.2 里面找到 nTierGen.eval.1.2.exe 和 Microsoft.ApplicationBlocks.Data.DLL。后一个dll好像跟破解没有太大关系。OK，Let&#8217;&#8217;s go! <br/><br/>第一步：分析定位代码。用Anakrino打开 nTierGen.eval.1.2.exe。在Atweb.CodeGet.Wizard名字空间下，有一个frmWizard。这就是程序的主窗口了。在主窗口里面，有一个事件响应方法叫做 btnNext_Click，在里面找到了这样的代码： <br/>if (this.panel2.Visible) { <br/>local2 = Helper.IsCaseStudy(this.proj.dbTree); <br/>if (this.chkListTables.CheckedItems.Count &gt; this.MAX_TABLES &amp;&amp; !(local2)) <br/>MessageBox.Show(&quot;This evaluation release is restricted to &quot; + this.MAX_TABLES.ToString() + &quot; tables. Extra tables have been removed.&quot;); <br/>local3 = new TableCollection(); <br/>local4 = 0; <br/>while (local4 &lt; this.chkListTables.Items.Count) { <br/>local5 = (String) this.chkListTables.Items.get_Item(local4); <br/>if (this.chkListTables.GetItemChecked(local4) &amp;&amp; local3.Count &lt; this.MAX_TABLES || local2) <br/>local3.Add(this.proj.dbTree.Tables.Item(local5)); <br/>this.proj.dbTree.Tables.Remove(this.proj.dbTree.Tables.Item(local5).ToString()); <br/>local4++; <br/>} <br/>this.proj.dbTree.Tables = local3; <br/>this.Panel2Init(); <br/>this.HidePanels(); <br/>this.panel3.Visible = true; <br/>this.RefreshViewList(); <br/>return; <br/>}<br/><br/>可以看出，当用户选定了表之后，按Next按钮，他就检查选择的数量。如果&gt;this.MAX_TABLES，就Show出一个MessageBox，接下来就只选择前this.MAX_TABLES个表。OK，目标就在这里了。 <br/><br/>第二步：制定策略。显然，这个MAX_TABLES是程序里面的一个常量，用于限制表的个数。我们只要把这个常量改得大一些，不就行了吗？好，试试看。 <br/><br/>.class /*0200003F*/ public auto ansi beforefieldinit &#8221;frmWizard&#8221; <br/>extends [&#8221;System.Windows.Forms&#8221;/* 23000002 */&gt;&#8221;System.Windows.Forms&#8221;.&#8221;Form&#8221;/* 01000004 */ <br/>{ <br/>.field /*04000098*/ private int32 &#8221;MAX_TABLES&#8221; <br/>.field /*04000099*/ private bool &#8221;ENCRYPT_TREE&#8221; <br/>.field /*0400009A*/ private string &#8221;LICENSED_TO&#8221; <br/>.field /*0400009B*/ private string &#8221;LICENSED_TO_COMPANY&#8221; <br/>&#8230;.. <br/><br/><br/>instance void .ctor() cil managed <br/>// SIG: 20 00 01 <br/>{ <br/>// Method begins at RVA 0xb0b8 <br/>// Code size 218 (0xda) <br/>.maxstack 5 <br/>.locals /*11000049*/ init (string[&gt; V_0) <br/>IL_0000: /* 02 | */ ldarg.0 <br/>IL_0001: /* 19 | */ ldc.i4.3 <br/>IL_0002: /* 7D | (04)000098 */ stfld int32 &#8221;Atweb.CodeGen.Wizard&#8221;.&#8221;frmWizard&#8221;/* 0200003F */::&#8221;MAX_TABLES&#8221; /* 04000098 */ <br/><br/>在frmWizard的构造函数里面，IL_0001这个地方，ldc.i4.3，让MAX_TABLES=3。再看看IL的指令： <br/>ldc.i4 &lt;int32&gt; (0&#215;20) Load &lt;int32&gt; on the stack. <br/>ldc.i4.s &lt;int8&gt; (0&#215;1F) Load &lt;int8&gt; on the stack. <br/>ldc.i4.m1 (ldc.i4.M1) (0&#215;15) Load -1 on the stack. <br/>ldc.i4.0 (0&#215;16) Load 0. <br/>ldc.i4.1 (0&#215;17) Load 1. <br/>ldc.i4.2 (0&#215;18) Load 2. <br/>ldc.i4.3 (0&#215;19) Load 3. <br/>ldc.i4.4 (0&#215;1A) Load 4. <br/>ldc.i4.5 (0&#215;1B) Load 5. <br/>ldc.i4.6 (0&#215;1C) Load 6. <br/>ldc.i4.7 (0&#215;1D) Load 7. <br/>ldc.i4.8 (0&#215;1E) Load 8. (I should have listed these in reverse order so then we could imagine ourselves on Cape Canaveral.) <br/>ldc.i8 &lt;int64&gt; (0&#215;21) Load &lt;int64&gt; on the stack. <br/>ldc.r4 &lt;float32&gt; (0&#215;22) Load &lt;float32&gt; (single-precision) on the stack. <br/>ldc.r8 &lt;float64&gt; (0&#215;23) Load &lt;float64&gt; (double-precision) on the stack. ILAsm permits the use of integer parameters in both the ldc.r4 and ldc.r8 instructions; in such cases, the integers are interpreted as binary images of the floating-point numbers. <br/><br/><br/>可以看出，IL只用了一个byte来给MAX_TABLE赋值，跟我们以往的x86 ASM有所不同。把ldc.i4.3改成ldc.i4.8，也就是把0&#215;19改称0&#215;1E，看看效果如何。用UltraEdit搜索出02 19 7D 98 00 00 04，然后把19改成1E，保存，运行，程序显示&ldquo;最大8个表&rdquo;等等，看来就着一个地方了。 <br/>从IL指令来看，一个byte最大赋值8，显然8个表还是太少了。怎么办？ <br/><br/><br/>IL_0197: /* 09 | */ ldloc.3 <br/>IL_0198: /* 6F | (0A)000017 */ callvirt instance int32 [&#8221;mscorlib&#8221;/* 23000001 */&gt;&#8221;System.Collections&#8221;.&#8221;CollectionBase&#8221;/* 01000002 */::&#8221;get_Count&#8221;() /* 0A000017 */ <br/>IL_019d: /* 02 | */ ldarg.0 <br/>IL_019e: /* 7B | (04)000098 */ ldfld int32 &#8221;Atweb.CodeGen.Wizard&#8221;.&#8221;frmWizard&#8221;/* 0200003F */::&#8221;MAX_TABLES&#8221; /* 04000098 */ <br/>IL_01a3: /* 32 | 03 */ blt.s IL_01a8 <br/><br/>IL_01a5: /* 08 | */ ldloc.2 <br/>IL_01a6: /* 2C | 1D */ brfalse.s IL_01c5 <br/><br/>IL_01a8: /* 09 | */ ldloc.3 <br/>IL_01a9: /* 02 | */ ldarg.0 <br/><br/><br/>在IL_01a3这个地方，比较MAX_TABLE，如果小于则跳转。OK，如果我们在赋值的时候，给一个-1，然后把有符号数的比较改成无符号数的比较，不就可以支持最多256个表了吗？OK! <br/><br/>第五步：最后的修改。搜索出上次02 19 7D 98 00 00 04的地方，把19改成15，也就是变成ldc.i4.m1；再搜索出7B 98 00 00 04 32这个地方，把blt.s改成blt.un.s，也就是把32改成37，保存，运行，程序显示支持&quot;-1&quot;个表，实际上支持256个表，。。。。 <br/><br/>最后总结：.NET程序修改过程中，很容易出执行引擎的错误，所以修改的地方越少越好。当然，熟练之后可以想怎么改就怎么改了。另外，熟悉c#语言，熟悉IL也非常有帮助。怎么样，想不想马上试试看？</font></font></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/wildhope/archive/2005/04/25/350213.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET的数据工具</title>
		<link>http://blog.donews.com/wildhope/archive/2005/04/25/350205.aspx</link>
		<comments>http://blog.donews.com/wildhope/archive/2005/04/25/350205.aspx#comments</comments>
		<pubDate>Mon, 25 Apr 2005 06:42:00 +0000</pubDate>
		<dc:creator>wildhope</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://blog.donews.com/wildhope/archive/2005/04/25/350205.aspx</guid>
		<description><![CDATA[.NET的数据工具不止这些http://www.objectpersistence.comhttp://www.2LKit.comhttp://bbooprevalence.sourceforge.net/http://sourceforge.net/projects/ojb-nethttp://sourceforge.net/projects/nhibernate/http://www.componentone.com/products.aspx?ProductCode=1&#38;ProductID=22http://www.evaluant.comhttp://www.deklarit.comhttp://www.thona-consulting.com/content/products/entitybroker.aspxhttp://kickstarter.net/default.htmhttp://www.sd.nl/software/tooldetails.asp?filtertype=2&#38;ItemID=66http://www.oakleafsd.comhttp://www.norpheme.comhttp://www.gavinjoyce.com/nTierGen/http://www.virtutis.com/http://www.firestarsoftware.comhttp://www.mongoosesolutions.comhttp://www.microsoft.fr/olymars/webupdate.xmlhttp://www.pragmatier.comhttp://www.prevayler.orghttp://www.alachisoft.com/http://www.visible.com/Products/Developer/index.html &#160;

来自：yyanghhong, 时间：2003-9-8 10:05:00, ID：2163336
http://groups.msn.com/DotNetPersistence/tools.msnw &#160;&#160;
]]></description>
			<content:encoded><![CDATA[<div style="MARGIN: 4px 8px 0px" firstchar="">.NET的数据工具不止这些<br/><a href="http://www.objectpersistence.com/" target="_blank">http://www.objectpersistence.com</a><br/><a href="http://www.2lkit.com/" target="_blank">http://www.2LKit.com</a><br/><a href="http://bbooprevalence.sourceforge.net/" target="_blank">http://bbooprevalence.sourceforge.net/</a><br/><a href="http://sourceforge.net/projects/ojb-net" target="_blank">http://sourceforge.net/projects/ojb-net</a><br/><a href="http://sourceforge.net/projects/nhibernate/" target="_blank">http://sourceforge.net/projects/nhibernate/</a><br/><a href="http://www.componentone.com/products.aspx?ProductCode=1&amp;ProductID=22" target="_blank">http://www.componentone.com/products.aspx?ProductCode=1&amp;ProductID=22</a><br/><a href="http://www.evaluant.com/" target="_blank">http://www.evaluant.com</a><br/><a href="http://www.deklarit.com/" target="_blank">http://www.deklarit.com</a><br/><a href="http://www.thona-consulting.com/content/products/entitybroker.aspx" target="_blank">http://www.thona-consulting.com/content/products/entitybroker.aspx</a><br/><a href="http://kickstarter.net/default.htm" target="_blank">http://kickstarter.net/default.htm</a><br/><a href="http://www.sd.nl/software/tooldetails.asp?filtertype=2&amp;ItemID=66" target="_blank">http://www.sd.nl/software/tooldetails.asp?filtertype=2&amp;ItemID=66</a><br/><a href="http://www.oakleafsd.com/" target="_blank">http://www.oakleafsd.com</a><br/><a href="http://www.norpheme.com/" target="_blank">http://www.norpheme.com</a><br/><a href="http://www.gavinjoyce.com/nTierGen/" target="_blank">http://www.gavinjoyce.com/nTierGen/</a><br/><a href="http://www.virtutis.com/" target="_blank">http://www.virtutis.com/</a><br/><a href="http://www.firestarsoftware.com/" target="_blank">http://www.firestarsoftware.com</a><br/><a href="http://www.mongoosesolutions.com/" target="_blank">http://www.mongoosesolutions.com</a><br/><a href="http://www.microsoft.fr/olymars/webupdate.xml" target="_blank">http://www.microsoft.fr/olymars/webupdate.xml</a><br/><a href="http://www.pragmatier.com/" target="_blank">http://www.pragmatier.com</a><br/><a href="http://www.prevayler.org/" target="_blank">http://www.prevayler.org</a><br/><a href="http://www.alachisoft.com/" target="_blank">http://www.alachisoft.com/</a><br/><a href="http://www.visible.com/Products/Developer/index.html" target="_blank">http://www.visible.com/Products/Developer/index.html</a> &nbsp;</div>
<p><br/>
<div style="PADDING-RIGHT: 4px; BORDER-TOP: #88a5db 1px solid; PADDING-LEFT: 4px; BACKGROUND: #e1e9ff; PADDING-BOTTOM: 4px; PADDING-TOP: 4px"><b>来自：</b><a href="http://www.delphibbs.com/delphibbs/dispu.asp?username=yyanghhong" target="_blank">yyanghhong</a>, <b>时间：</b>2003-9-8 10:05:00, <b>ID：</b>2163336</div>
<div style="MARGIN: 4px 8px 0px" firstchar=""><a href="http://groups.msn.com/DotNetPersistence/tools.msnw" target="_blank">http://groups.msn.com/DotNetPersistence/tools.msnw</a> &nbsp;&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.donews.com/wildhope/archive/2005/04/25/350205.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

