Tobler.SoftwareArchitecture()

John Tobler's somewhat ordered collection of thoughts and resources mostly related to software architecture and software engineering.

  • [Tools] XmlSerializerPreCompiler and XmlPreCompiler

    Now in frequent use in my dev environment, I can highly recommend Matthew Nolton's XmlPreCompiler, a GUI front-end to Chris Sells' command-line tool, XmlSerializerPreCompiler.  These are very handy when you need to vaidate that some assembly can be serialized.  Unfortunately, it appears that I have to drop the XmlPreCompiler.exe and XmlPreCompiler.exe.config directly into the directory where the assemblies I am testing (and their dependencies) exist; I apparently cannot just drop XmlPreCompiler into my \Bin directory or somewhere on my path.  If I do that, XmlPreCompiler does not seem to find the assembly's dependencies.  The tool still makes my "must have" list.

  • [.NET C#] Embedding Resources Into Your Assembly Manifest

    While integrating some code, yesterday, I discovered how to embed resources "files" - such as JPG or GIF images, htm files and xsl files - into your assembly manifest.  You can then access them via reflection.  The first article to examine about this is John Gallardo's Embedding and Using Resources in C#.  After that, read up a bit more in Chris Sells' Microsoft .NET Framework Resource Basics

    When you are done, you will know about untyped manifest resources and typed resources (stored in resx files).  One advantage of the manifest approach is that you can bundle resources into an assembly that you can distribute to be used in some host application without having to introduce a bundle of files into the host's solution tree.  This is a very cool and useful feature.

  • [Tools] CollapseAll Macro for Visual Studio .NET

    Edwin Evans has created a very useful CollapseAll Macro for Visual Studio .NET.  For the umpteenth time, I had to go looking for it again so I'm quite certain that I want to put a link to it here for my use and yours.  You will find this simple tool extremely handy when you are trying to deal with very large solutions with lots of projects and sub-folders!

  • [General] Again

    Of Tobler.Tech(), someone kindly said, "But you're not a network tech!"  They're right; I'm not.  What do I do?  Well, software architecture.  Alfred Korzybski warned us against the semantic hazards of identification.  I am *not* Tobler.SoftwareArchitect.  Software architecture is something I do, not what I am.  So, let's try Tobler.SoftwareArchitecture().  Hopefully, this weblog name will stick for awhile.  Otherwise I may need to change it to "Nom de Jeur."


  • [Tools] Code<Template>.NET

    I am always interested in code generation tools and handy utilities to reduce the amount of time wasted repeating what has already been done.  I have found Eddie Velasquez's Code<Template>.NET a very handy VisualStudio,NETadd-in.  It just sits up there in the upper right-hand corner of my IDE.  I occasionally put templates into it.  I frequently push the magic button and get nicely formatted and debugged blocks of code that I can tweak a little instead of writing them from scratch.  Yes, there are other tools out there but this one is quite unobtrusive and helps me get the job done.  I strongly recommended having a look at it.  Of course, as always, YMMV.

  • [.NET General] SQL Server Express "incompatible components" failure

    When trying to install the CTP release of SQL Server Express, you may get an error message informing you that "Setup has detected incompatible components, ..." blah, blah, blah.  It will tell you to run the "build uninstall wizard," sqlbuw.exe, but you may not have that installed anywhere on your system.  In fact, it may be rather hard to find. This problem has been discussed on nikop's WebLog

    Having faced the same problem, the absence of sqlbuw.exe, I have found another solution that might help you get the necessary files.

    1. Go through the same install to the point where the error dialog box is on the screen. 
    2. Explore your hard drive and you should see a temporary directory where the SQL Server Express installation files are being cached.  It will be named with a bunch of hexidecimal numbers, probably right under the root on your C:\ drive.
    3. In that directory, find subdirectory "setup tools."
    4. In "setup tools," you should see a "build uninstall wizard" subdirectory.
    5. Copy the "build uninstall wizard" subdirectory to some temporary location on your system.
    6. Kill the install
    7. Run sqlbuw.exe from the command line in the temporary directory you copied.
    This worked fine for me.  YMMV.