<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://icelava.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Software Development</title><link>http://icelava.net/forums/24/ShowForum.aspx</link><description>Programming, application design, web development, etc.</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61019.2)</generator><item><title>Re: Getting NDepend to cope with too many DataSet assemblies</title><link>http://icelava.net/forums/thread/7084.aspx</link><pubDate>Fri, 27 Aug 2010 10:31:59 GMT</pubDate><guid isPermaLink="false">b5ede4db-7277-4f66-971e-849c7a9a2fd5:7084</guid><dc:creator>Anonymous</dc:creator><slash:comments>0</slash:comments><comments>http://icelava.net/forums/thread/7084.aspx</comments><wfw:commentRss>http://icelava.net/forums/commentrss.aspx?SectionID=24&amp;PostID=7084</wfw:commentRss><description>&lt;p&gt;interesting... and hilarious!!! especially now that im on the same boat! hahaha!&amp;nbsp;&lt;/p&gt;&lt;p&gt;- alvin&lt;/p&gt;</description></item><item><title>Re: Getting NDepend to cope with too many DataSet assemblies</title><link>http://icelava.net/forums/thread/6710.aspx</link><pubDate>Sat, 01 May 2010 13:11:25 GMT</pubDate><guid isPermaLink="false">b5ede4db-7277-4f66-971e-849c7a9a2fd5:6710</guid><dc:creator>icelava</dc:creator><slash:comments>0</slash:comments><comments>http://icelava.net/forums/thread/6710.aspx</comments><wfw:commentRss>http://icelava.net/forums/commentrss.aspx?SectionID=24&amp;PostID=6710</wfw:commentRss><description>Yes, this whole system (more than one app) is vastly bigger than the .NET Framework itself. And that is not news to be happy about by any measure.</description></item><item><title>Re: Getting NDepend to cope with too many DataSet assemblies</title><link>http://icelava.net/forums/thread/6704.aspx</link><pubDate>Thu, 29 Apr 2010 07:24:44 GMT</pubDate><guid isPermaLink="false">b5ede4db-7277-4f66-971e-849c7a9a2fd5:6704</guid><dc:creator>Anonymous</dc:creator><slash:comments>0</slash:comments><comments>http://icelava.net/forums/thread/6704.aspx</comments><wfw:commentRss>http://icelava.net/forums/commentrss.aspx?SectionID=24&amp;PostID=6704</wfw:commentRss><description>&lt;p&gt;Indeed tier assemblies is a cool NDepeni features I descaibed in depth here: Controlling the usage of Library&lt;br&gt;&lt;/p&gt;&lt;p&gt;http://codebetter.com/blogs/patricksmacchia/archive/2008/10/20/controlling-the-usage-of-libraries.aspx &lt;/p&gt;&lt;p&gt;&amp;gt; the &lt;em&gt;several hundred&lt;/em&gt; DataSet assemblies reared their ugly heads again and utterly crushed NDepend with the weight of all their fatty members. &lt;/p&gt;&lt;p&gt;Our goal achieved with NDepend v3, was to be able to analyze the whole .NET Fx assemblies on a 32 bits machine in less than a minute. This represents around 1.5M Lines of Code. So with your datasets assemblies, your app seems to be bigger than the whole .NET Fx. You can buy a 64bits machine :)&lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Getting NDepend to cope with too many DataSet assemblies</title><link>http://icelava.net/forums/thread/6703.aspx</link><pubDate>Wed, 28 Apr 2010 09:23:06 GMT</pubDate><guid isPermaLink="false">b5ede4db-7277-4f66-971e-849c7a9a2fd5:6703</guid><dc:creator>icelava</dc:creator><slash:comments>0</slash:comments><comments>http://icelava.net/forums/thread/6703.aspx</comments><wfw:commentRss>http://icelava.net/forums/commentrss.aspx?SectionID=24&amp;PostID=6703</wfw:commentRss><description>&lt;P&gt;Previously I was all happy and impressed by&amp;nbsp;the &lt;A href="http://icelava.net/forums/thread/6623.aspx"&gt;performance and stability of NDepend v3.0&lt;/A&gt;. I still am, but alas, the fact remains that &lt;A href="http://twitter.com/icelava/status/10973157131"&gt;no matter how well you design and build something, there will always be something much more horrid to make your work crumble to pieces&lt;/A&gt;. When I started moving onto the &lt;EM&gt;larger&lt;/EM&gt; deployments in the enterprise - numbering near 2000 assemblies - the &lt;EM&gt;several hundred&lt;/EM&gt; DataSet assemblies reared their ugly heads again and utterly crushed NDepend with the weight of all their fatty members. This is no fault of NDepend, really, but just one of many signs that the architects who envisioned such&amp;nbsp;work need to be burnt at the stake. With aircraft-grade jet fuel.&lt;/P&gt;
&lt;P&gt;So how should one deal with when being faced with such gigantic .NET solutions? The most apparent workaround is simply to point out the DataSet assemblies and exclude them completely from analysis. But this prevents NDepend from gaining awareness of elements in those assemblies; crucial CQL queries regarding how DataSets and DataTables are being utilised cannot be fully realised.&lt;/P&gt;
&lt;P&gt;Thankfully, there is an alternative - make the DataSet assemblies &lt;STRONG&gt;tier assemblies&lt;/STRONG&gt; (blue) instead of application-level assemblies. How to do that? I discovered this by accident, when i originally &lt;EM&gt;moved all DataSet assemblies to a separate sub-directory&lt;/EM&gt;. I did so to avoid selecting them with a Select-all operation during the assembly-selection process for Analysis. Of course, this only ended up with the above situation since my original intention was to exlcude the DataSet assemblies totally. The trick came when I actually &lt;STRONG&gt;&lt;EM&gt;re-added&lt;/EM&gt; them into the (application) assembly list for analysis, and subsequently &lt;EM&gt;removed&lt;/EM&gt; them&lt;/STRONG&gt;. NDepend, knowing that those assemblies were being referenced and made use of,&lt;STRONG&gt; shifted their entries from the application column over to the tier column&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;With such a setup, analysis of ~1500 application assemblies with ~300 tier DataSet assemblies was possible without OutOfMemoryException blowing up. With this manner of analysis completed, I was able to query out names of DataSets/DataTables being used&amp;nbsp;within stacks of method calls, satisfying most of our data-related questions about our code base. Hopefully this tactic can help others faced with monolithtic systems manage a little better when attempting to do some untangling study with NDepend.&lt;/P&gt;</description></item></channel></rss>