Tobler.SoftwareArchitecture()
John Tobler's somewhat ordered collection of thoughts and resources mostly related to software architecture and software engineering.
-
[Languages] A# - Ada for the .NET Framework
A# is a port of the Ada programming language to the .NET Framework, done by the Department of Computer Science at the United States Air Force Academy. It takes a little work to set it up but if you're interested in Ada, or have Ada code you would like to port to .NET, this may just be for you.
-
[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!
-
[Tools] RUnit - an NUnit test runner for ASP.NET
RUnit lets you run NUnit tests from within ASP.NET. Having beaten my head bloody against doing something very similar, I am very impressed with this elegant piece of work. Nice job!
-
[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] Using Virtual PC 2004
Simon Guest has a great article on the Top Ten Tips for Using Virtual PC 2004. This is a major tool that can let you compute in multiple environments. Really a "must have" for serious Microsoft-based software development shops.
-
[Tools] The Windows Installer CleanUp Utility
So, I had this trial version of some software installed on my system. The vendor's uninstall did not correctly remove it. What to do?
I didn't know about this before, but there is a Microsoft tool for such quandaries, The Windows Installer CleanUp Utility. If you're not cautious, you could probably cause yourself some grief with this tool, so "Caveat User!"
-
[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.
- Go through the same install to the point where the error dialog box is on the screen.
- 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.
- In that directory, find subdirectory "setup tools."
- In "setup tools," you should see a "build uninstall wizard" subdirectory.
- Copy the "build uninstall wizard" subdirectory to some temporary location on your system.
- Kill the install
- Run sqlbuw.exe from the command line in the temporary directory you copied.