<?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>孙立文的博客 &#187; Mono</title>
	<atom:link href="http://sunliwen.com/tag/mono/feed/" rel="self" type="application/rss+xml" />
	<link>http://sunliwen.com</link>
	<description>Never lose my passion!</description>
	<lastBuildDate>Sat, 21 Jan 2012 05:16:52 +0000</lastBuildDate>
	<language>zh</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>使用Mono.Cecil读写.NET程序集</title>
		<link>http://sunliwen.com/2008/12/manipulate-dotnet-assemblies-using-mono-cecil/</link>
		<comments>http://sunliwen.com/2008/12/manipulate-dotnet-assemblies-using-mono-cecil/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 06:28:10 +0000</pubDate>
		<dc:creator>Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Mono]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=97</guid>
		<description><![CDATA[使用Reflexil修改.NET程序集 http://www.codeproject.com/KB/msil/reflexil.aspx 基于Cecil的项目合集 http://groups.google.com/group/mono-cecil/web/projects-using-cecil DimeCast上一个视频演示通过Cecil向程序集中注入代码。 MSDN关于IL指令的文档。 Tags: .NET, Mono 没有评论]]></description>
			<content:encoded><![CDATA[<p>使用Reflexil修改.NET程序集<br />
<a href="http://www.codeproject.com/KB/msil/reflexil.aspx">http://www.codeproject.com/KB/msil/reflexil.aspx</a></p>
<p>基于Cecil的项目合集<br />
<a href="http://groups.google.com/group/mono-cecil/web/projects-using-cecil">http://groups.google.com/group/mono-cecil/web/projects-using-cecil</a></p>
<p>DimeCast上一个视频演示<a href="http://www.dimecasts.net/Casts/CastDetails/59">通过Cecil向程序集中注入代码</a>。 <a href="http://msdn.microsoft.com">MSDN</a>关于IL指令的<a href="http://msdn.microsoft.com/en-us/library /system.reflection.emit.opcodes_fields.aspx">文档</a>。</p>
<div style=float:left><!-- JiaThis Button BEGIN -->
<div id="ckepop">
	<a class="jiathis_button_tsina"></a>
	<a class="jiathis_button_douban"></a>
	<a class="jiathis_button_instapaper"></a>
	<a class="jiathis_button_stubleupon"></a>
	<a href="http://www.jiathis.com/share?uid=1544311" class="jiathis jiathis_txt jtico jtico_jiathis" target="_blank"></a>
	<a class="jiathis_counter_style"></a>
</div>
<script type="text/javascript">var jiathis_config = {data_track_clickback:true};</script>
<script type="text/javascript" src="http://v2.jiathis.com/code_mini/jia.js?uid=1544311" charset="utf-8"></script>
<!-- JiaThis Button END --></div><hr />
<p>
<small>
Tags: <a href="http://sunliwen.com/tag/dotnet/" rel="tag">.NET</a>, <a href="http://sunliwen.com/tag/mono/" rel="tag">Mono</a><br/>
<a href="http://sunliwen.com/2008/12/manipulate-dotnet-assemblies-using-mono-cecil/#comments-heading">没有评论</a>
</small>
</p>]]></content:encoded>
			<wfw:commentRss>http://sunliwen.com/2008/12/manipulate-dotnet-assemblies-using-mono-cecil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>与Mono.Cecil类似的项目</title>
		<link>http://sunliwen.com/2008/12/projects-like-mono-cecil/</link>
		<comments>http://sunliwen.com/2008/12/projects-like-mono-cecil/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 07:16:54 +0000</pubDate>
		<dc:creator>Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Mono]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=84</guid>
		<description><![CDATA[与Cecil类似的项目: System.Reflection &#8211; .NET内置的反射工具 Zonnon &#8211; A language and compiler experiment CCI(Common Compiler Infrastructure) &#8211; 没有太多信息。 Java平台有著名的工具ASM，详见其开发者文档。ASM对操作Generic Collection也有很好的实现。 Tags: .NET, Mono 没有评论]]></description>
			<content:encoded><![CDATA[<p>与Cecil类似的项目:</p>
<p><a href="http://msdn.microsoft.com/en-us/library/system.reflection.aspx">System.Reflection</a> &#8211; .NET内置的反射工具</p>
<p><a href="http://www.zonnon.ethz.ch/">Zonnon</a> &#8211; A language and compiler experiment</p>
<p>CCI(Common Compiler Infrastructure) &#8211; 没有太多信息。</p>
<p>Java平台有著名的工具ASM，详见其<a href="http://asm.objectweb.org/doc/developer-guide.html">开发者文档</a>。ASM对<a href="http://www.ibm.com/developerworks/java/library/j-cwt02076.html">操作Generic Collection</a>也有很好的实现。</p>
<div style=float:left><!-- JiaThis Button BEGIN -->
<div id="ckepop">
	<a class="jiathis_button_tsina"></a>
	<a class="jiathis_button_douban"></a>
	<a class="jiathis_button_instapaper"></a>
	<a class="jiathis_button_stubleupon"></a>
	<a href="http://www.jiathis.com/share?uid=1544311" class="jiathis jiathis_txt jtico jtico_jiathis" target="_blank"></a>
	<a class="jiathis_counter_style"></a>
</div>
<script type="text/javascript">var jiathis_config = {data_track_clickback:true};</script>
<script type="text/javascript" src="http://v2.jiathis.com/code_mini/jia.js?uid=1544311" charset="utf-8"></script>
<!-- JiaThis Button END --></div><hr />
<p>
<small>
Tags: <a href="http://sunliwen.com/tag/dotnet/" rel="tag">.NET</a>, <a href="http://sunliwen.com/tag/mono/" rel="tag">Mono</a><br/>
<a href="http://sunliwen.com/2008/12/projects-like-mono-cecil/#comments-heading">没有评论</a>
</small>
</p>]]></content:encoded>
			<wfw:commentRss>http://sunliwen.com/2008/12/projects-like-mono-cecil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mono相关的项目</title>
		<link>http://sunliwen.com/2008/12/mono-related-project/</link>
		<comments>http://sunliwen.com/2008/12/mono-related-project/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 05:06:09 +0000</pubDate>
		<dc:creator>Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Mono]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=74</guid>
		<description><![CDATA[有幸在上周五六参加Apache Meetup和Barcamp活动中遇到了Novell公司的Alex Lau。期间他提到了Mono Accecibility这个项目。我在构建NTE时用到了Mono Cecil来读取ECMA IL格式的指令，所以对Mono的相关项目颇有好感。 所以再次罗列一下网站资源： Cecil &#8211; A .net assembly manipulation library Accessibility &#8211; aims to enable Windows applications to be fully accessible on Linux Gendarme &#8211; rule-based tool to inspect .Net assemblies(which using Cecil) 一个视频Miguel de Icaza谈Mono 如果有机会应该参与一些Mono相关的工作。Google也参与了Mono相关的项目。 Tags: .NET, Mono 没有评论]]></description>
			<content:encoded><![CDATA[<p>有幸在上周五六参加Apache Meetup和Barcamp活动中遇到了Novell公司的Alex Lau。期间他提到了Mono Accecibility这个项目。我在构建NTE时用到了Mono Cecil来读取ECMA IL格式的指令，所以对Mono的相关项目颇有好感。</p>
<p>所以再次罗列一下网站资源：</p>
<ul>
<li><a href="http://www.mono-project.com/Cecil">Cecil</a> &#8211; A .net assembly manipulation library</li>
</ul>
<ul>
<li><a href="http://www.mono-project.com/Accessibility">Accessibility</a> &#8211; aims to enable Windows applications to be fully accessible on Linux</li>
</ul>
<ul>
<li><a href="http://www.mono-project.com/Gendarme">Gendarme</a> &#8211; rule-based tool to inspect .Net assemblies(which using Cecil)</li>
</ul>
<p>一个视频<a href="http://port25.technet.com/archive/2006/08/11/Let_2700_s-talk-Mono_3A00_--Sam-interviews-Miguel-de-Icaza.aspx">Miguel de Icaza谈Mono</a></p>
<p>如果有机会应该参与一些Mono相关的工作。<a href="http://code.google.com/p/google-highly-open-participation-mono/">Google也参与了Mono相关的项目</a>。</p>
<div style=float:left><!-- JiaThis Button BEGIN -->
<div id="ckepop">
	<a class="jiathis_button_tsina"></a>
	<a class="jiathis_button_douban"></a>
	<a class="jiathis_button_instapaper"></a>
	<a class="jiathis_button_stubleupon"></a>
	<a href="http://www.jiathis.com/share?uid=1544311" class="jiathis jiathis_txt jtico jtico_jiathis" target="_blank"></a>
	<a class="jiathis_counter_style"></a>
</div>
<script type="text/javascript">var jiathis_config = {data_track_clickback:true};</script>
<script type="text/javascript" src="http://v2.jiathis.com/code_mini/jia.js?uid=1544311" charset="utf-8"></script>
<!-- JiaThis Button END --></div><hr />
<p>
<small>
Tags: <a href="http://sunliwen.com/tag/dotnet/" rel="tag">.NET</a>, <a href="http://sunliwen.com/tag/mono/" rel="tag">Mono</a><br/>
<a href="http://sunliwen.com/2008/12/mono-related-project/#comments-heading">没有评论</a>
</small>
</p>]]></content:encoded>
			<wfw:commentRss>http://sunliwen.com/2008/12/mono-related-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Testability Explorer</title>
		<link>http://sunliwen.com/2008/12/dotnet-testability-explorer/</link>
		<comments>http://sunliwen.com/2008/12/dotnet-testability-explorer/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 03:59:05 +0000</pubDate>
		<dc:creator>Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=48</guid>
		<description><![CDATA[在负责一个Unit Testing on CAB的内部培训项目期间，我阅读了Miško Hevery的一系列文章，他目前在Google担任敏捷教练。我对他的Testability Explorer(简称GTE) 产生了浓厚兴趣。 虽然Java和.Net世界已经有一些类似工具存在，但GTE这个项目实现功能比较专一，输出结果也直接易懂。相对NDepend强大但相对复杂和FxCop官方但略显强硬，GTE这个项目从形式上来说更有亲和力。所以我和Joe同学在Google Code上开始了一个新项目: .NET Testability Explorer(简称NTE)。 功能受众是期望对输出的.NET Assembly进行分析的开发人员，报告中提供的信息可以帮助他们对设计进行调整，从而使code base更容易测试和维护。 计划是，首先实现圈复杂度的度量，然后实现输出类似GTE形式的报告。希望能够在09年农历新年前发出第一个版本。 目前TE的成本模型支持对全复杂度、全局变量和笛米特法则的计算。 技术层面可以参考Gendarme这个项目，一个基于Mono.Cecil的代码分析工具。 Updates 20081221 项目分成两部分：IL分析，基于规则的成本模型计算 IL分析：目前IL分析方面的技术调研实现了类型，字段，方法级别的读取。剩下最大的一部分是方法中instruction的decompose，这部分估计占全部的40%工作量。但是我需要从成本模型分析的方向进行分析，确定在decompose过程中所需要收集的信息，所以先完成大概10%遍历所有instruction构建一个草图模型。目标是实现最简单的圈复杂度的计算。 成本模型：完成大概10%-20%的基础模型构建，支持全复杂度的计算。 下一步，重构设计使其能支持更多的规则考量，并增强其可扩展性。 目前从代码量来看完成了TE全部功能的1/6，考虑到TE支持对C++语言的分析，折半其工作量，目前大概完成了全部工作的1/3。 目标定于在完成一半的时候提交代码到Google Code，并发布第一个可运行的版本。时间定于08年圣诞节期间。新的计划是春节之前，发布第一个可运行的版本，并将代码提交。 Tags: Mono, Testing 2个评论]]></description>
			<content:encoded><![CDATA[<p>在负责一个Unit Testing on <a title="Smart Client - Composite UI Application Block" href="http://msdn.microsoft.com/en-us/library/aa480450.aspx">CAB</a>的内部培训项目期间，我阅读了<a href="http://misko.hevery.com/" rel="nofollow">Miško Hevery</a>的一系列文章，他目前在Google担任敏捷教练。我对他的<a href="http://code.google.com/p/testability-explorer/">Testability Explorer</a>(简称GTE) 产生了浓厚兴趣。</p>
<p>虽然Java和.Net世界已经有一些类似工具存在，但GTE这个项目实现功能比较专一，输出结果也直接易懂。相对<a href="http://www.ndepend.com/">NDepend</a>强大但相对复杂和<a href="http://blogs.msdn.com/fxcop/">FxCop</a>官方但略显强硬，GTE这个项目从形式上来说更有亲和力。所以我和Joe同学在Google Code上开始了一个新项目: <a href="http://code.google.com/p/dotnet-testability-explorer/">.NET Testability Explorer</a>(简称NTE)。<br />
功能受众是期望对输出的.NET Assembly进行分析的开发人员，报告中提供的信息可以帮助他们对设计进行调整，从而使code base更容易测试和维护。</p>
<p>计划是，首先实现圈复杂度的度量，然后实现输出类似<a href="http://testabilityexplorer.org/report">GTE形式的报告</a>。希望能够在09年农历新年前发出第一个版本。<br />
目前TE的成本模型支持对全复杂度、全局变量和笛米特法则的计算。</p>
<p>技术层面可以参考<a href="http://mono-project.com/Gendarme">Gendarme</a>这个项目，一个基于<a href="http://www.mono-project.com/Cecil">Mono.Cecil</a>的代码分析工具。</p>
<p><em>Updates 20081221</em><br />
项目分成两部分：IL分析，基于规则的成本模型计算</p>
<p>IL分析：目前IL分析方面的技术调研实现了类型，字段，方法级别的读取。剩下最大的一部分是方法中instruction的decompose，这部分估计占全部的40%工作量。但是我需要从成本模型分析的方向进行分析，确定在decompose过程中所需要收集的信息，所以先完成大概10%遍历所有instruction构建一个草图模型。目标是实现最简单的圈复杂度的计算。<br />
成本模型：完成大概10%-20%的基础模型构建，支持全复杂度的计算。<br />
下一步，重构设计使其能支持更多的规则考量，并增强其可扩展性。<br />
目前从代码量来看完成了TE全部功能的1/6，考虑到TE支持对C++语言的分析，折半其工作量，目前大概完成了全部工作的1/3。</p>
<p><del datetime="2009-01-09T10:11:57+00:00">目标定于在完成一半的时候提交代码到Google Code，并发布第一个可运行的版本。时间定于08年圣诞节期间。新的计划是春节之前，发布第一个可运行的版本，并将代码提交。</del></p>
<div style=float:left><!-- JiaThis Button BEGIN -->
<div id="ckepop">
	<a class="jiathis_button_tsina"></a>
	<a class="jiathis_button_douban"></a>
	<a class="jiathis_button_instapaper"></a>
	<a class="jiathis_button_stubleupon"></a>
	<a href="http://www.jiathis.com/share?uid=1544311" class="jiathis jiathis_txt jtico jtico_jiathis" target="_blank"></a>
	<a class="jiathis_counter_style"></a>
</div>
<script type="text/javascript">var jiathis_config = {data_track_clickback:true};</script>
<script type="text/javascript" src="http://v2.jiathis.com/code_mini/jia.js?uid=1544311" charset="utf-8"></script>
<!-- JiaThis Button END --></div><hr />
<p>
<small>
Tags: <a href="http://sunliwen.com/tag/mono/" rel="tag">Mono</a>, <a href="http://sunliwen.com/tag/testing/" rel="tag">Testing</a><br/>
<a href="http://sunliwen.com/2008/12/dotnet-testability-explorer/#comments-heading">2个评论</a>
</small>
</p>]]></content:encoded>
			<wfw:commentRss>http://sunliwen.com/2008/12/dotnet-testability-explorer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

