The .NET Buffet
.Net, .Net CF, Architecture, and more (would you like Fries with that?)
-
Resharper 4.5 OutOfMemoryException (and a fix!)
So I'm working in a solution Visual Studio 2008 with Resharper 4.5.2 and, when including some large XML files (60M, don't ask, they have to be there) in the solution and restarting Visual Studio, Resharper started throwing an OutOfMemoryException when first loading, and then showing all kinds of errors in my solution which I know are not real errors. It ends up that there's an issue with heap fragmentation and memory allocation with Visual Studio and Jetbrains released a small "wrapper" application which appears, at least in my case and several others, to resolve the OutOfMemoryException. I found this nugget of information at CodeClimber's Blog, and the link to the actual wrappers is at: http://confluence.jetbrains.net/display/ReSharper/OutOfMemoryException+Fix Happy Coding!
-
Silverlight ChartHelper revisited...
-
The Dangers of Hammers (or, Why SRP Isn’t Dangerous)
If you haven’t noticed, David Cooksey and I are having a bit of a back-and-forth about the Single Responsibility Principle and its use (or misuse) in software development. And I’m obviously not here to talk about the dangers of hammers. But as David Cooksey has come up with another example of how SRP (the Single Responsibility Principle) is dangerous when completely misunderstood, I figured I had to reply with something.
-
In response to "The Dangers of Single Responsibility in Programming"
David Cooksey writes an interesting article titled "The Dangers of Single Responsibility in Programming" in which he proposes that there is a certain level of granularity below which SRP is not appropriate. Although I understand where he's coming from, I tend to disagree with his conclusion, and I think it's because his hypothetical programmer didn't actually find the right responsibilities, not because the method was already granular enough. I'd propose a slightly different breakdown of the responsibilities, leveraging Inversion of Control and creating several Pricing Calculators that each handle a different kind of discount (In his scenario, there are Sales prices and Gold Level Discounts). I would see each of these items as their own calculator, and a separate "Pricer" class that would use each of these. Note that in a real application I would probably leverage something like StructureMap to find all classes that implement IPriceCalculator and have some way to control the orderring of these (probably a Priority field on the IPriceCalculator interface to sort by) but to keep things simple I'm hard-coding the calculators list in this example. So, something like this:
-
VBCommenter Source
OK, so it's been a really long time since I've posted here. In any case, I noticed that in the very recent past several people were looking for the source to VBCommenter. As it stands, the GotDotNet site is toast, but if you look hard enough, you can still find downloads on their site for VBCommenter.
-
VBCommenter 1.2.5 FINAL released
Anyone who is using VB.NET and wished for support for XML comment generation (NDoc, anyone?) should be using VBCommenter. As I found myself in that very situation over the last few months, I've made some fairly major improvements to the VBCommenter add-in, and have wrapped up a new release.
-
End to End EntLib Demonstration (Source and Powerpoint presentation)
Ok, so between naps (of my 21-month-old son) and some late nights, I've managed to get the source code from my presentation last Tuesday put together. You can downoad the source and my presentation and follow the readme.txt to get set up. The source has examples of consuming all of the application blocks. It also includes an example of how to integrate ASP.NET's Forms Authentication and EntLib's Authentication/Authorization block.
-
Another VB.NET note (The BuildRules add-in)
On another VB.NET note, for anyone using the BuildRules tool included in the Microsoft Visual Studio .Net 2003 Automation Samples and have noticed that when you have a reporting project in your solution the BuildRules tree doesn't populate itself, the bug is essentially the same bug as the one I fixed in VBCommenter. There's a "foreach (project in solution.projects)" or some such loop in the BuildRules code, which fails somewhat silently when a reporting services project is in the solution. If you change it to an indexed loop going from 1 to the count of the Solution.Projects.Count property (yes, it really is a one-based array) and get the project using the Projects.Item(index) property, it will work again. This appears to have something to do with the COM interface to VS.NET and its implementation of the COM equivalent of IEnumerable.GetEnumerator (NewEnum? Sorry, I wasn't a COM guy before .NET) method, which fails in this case.
-
A new VBCommenter release for those of you using VB.NET...
I've just posted a new release of VBCommenter on the GotDotNet workspaces. This tool has been invaluable to us on my current project, where VB.NET has been mandated but where we wanted to create our API documentation just like a C# project. However, there were several issues with the 1.2 release that caused us issues, and over the last few months I've been slowly working on cleaning them up. Major improvements over the 1.2 version include:
-
My EntLib presentation to the Cincinnati .Net users' group meeting is TONIGHT (2/15) at 6
If you happen to live in the Cincinnati area and read my blog - I'm giving a presentation on Enterprise Library tonight at the Cincinnati .Net Users Group - see their site for directions. The presentation will start at 6pm and last until around 7.