Tips

Visual Studio 2008 throws error while closing or debugging

Tuesday, September 2nd, 2008 | Tips | No Comments

If you get unexpected errors in Visual Studio 2008 while closing it or switching the window layout (this happens, for example, when you start debugging), then you’ve probably encountered “VS 2008 Layout bug”.

Clicking “Menu - Window - Reset Window Layout” could help.

Tags:

IPv6 and Virtual Networks

Wednesday, August 20th, 2008 | Tips | No Comments

Tip: if you have some problems with virtual networks that have Windows Server 2008 machines as server or client, try disabling the IPv6 support in the properties of networks adapters. This helped me twice already.

Commit Monitor for Subversion

Friday, August 15th, 2008 | Tips, Uncategorized | No Comments

Last night I’ve got really nice tool into my autorun - Commit Monitor.

Commit Monitor for Subversion

It is small, simple and completely replaces SVN notification emails.

Commit Monitor for Subversion - tray notification

.NET tool “exited with code 9009″

Tuesday, August 12th, 2008 | Tips | No Comments

.NET can get so cryptic sometimes…

The command “Some_Simple_Shell_Command_Here” exited with code 9009.”

If you get message like this (could be followed by the MSBuild error code of “MSB3073″), then try to:

  • Check that the working directory for this executable command is correct
  • Ensure that Windows PATH environment variable does not have any problems (I used to get these after adding new directories to the PATH)
  • Make sure that the Command prompt (Cmd. exe) command-line string limitation is not hit.
  • Restart your command prompt or any other long-running process (like CC.NET server) since they can cache environment variables.

How to run MSBuild targets multiple times

Thursday, August 7th, 2008 | Snippets, Tips | No Comments

Microsoft MSBuild caches target calls internally. Thus, it is not possible to build same project(s) twice (i.e. when you are propagating changes between logical subsolutions).

One of the workarounds is about batching .NET builds. Another one is simply about calling MSBuild projects multiple times while adding dummy values to the properties:

<MSBuild
	Projects="@(SomeSolution)"
	Targets="Rebuild;Copy"
	Properties="SomeProperty=SomeValue;DummyProperty=1;" />

BTW, MSBuild has a nice switch called “/maxcpucount:n” (or “/m” for short), that specifies the maximum number of concurrent processes to build with.

Miscellaneous things

Tuesday, July 29th, 2008 | Tips | 4 Comments
  • Following the steps of the Simple State Machine, Nick has posted a project Irony that is about implementing the complex lifestyle for the domain objects (workflow engine) in pure C#. If you do not really need large-scale flexibility of a Boo-based approach (that comes with the increased complexity), then this project is really worth checking out for the ideas.
  • Do you remember my post on the Generator pattern? If you only need a numeric inline generator, then System.Linq already provides one. Look out for the Enumerable.Range (by aCoder).
  • TortoiseSVN 1.5.1 is out, but it just does not work on the Windows Server 2008-x64 for some reason (GUI handler fix for Vista be the reason for that).

CC.NET and the mystery of failing web deployment projects

Monday, July 28th, 2008 | Tips | 2 Comments

If something has gone wrong, and it is really tough to figure out the reason, try looking at the situation from the different angle. Could it be, that there are two separate and simple problems that play well together in distorting the symptoms?

This has been the case with the Web Deployment Projects failing spontaneously on the CC.NET. Deployment projects do really fail under VS 2008 under some weird circumstances (that’s the first problem), but the real cause was simple build timeout on the integration server (second problem).

And I’ve got way too carried away by the complexity of the first problem (and ease of reproducing it locally) and didn’t even check server log (CC.NET separates build logs from the server log, which holds higher-level messages) for some other hints (i.e.: “Process timed out:…”)

That was a good lesson.

Tags: ,

RSS

Search

Archives