June 18, 2003·
.net
Hosting Windows Forms Designers
This article comes with the full source for
hosting the WinForms Designers to enable form design in your own app. To my knowledge, none of this stuff is supported, but that doesn't make it any less cool!
[mikedub.net/GalleySlave]
June 18, 2003·
tools
XmlSerializerPreCompiler
Tired of the XmlSerializer’s generic “File or assembly name
ctewkx4b.dll, or one of its dependencies, was not found” exception?
The XmlSerializerPreCompiler tools
checks to see if a type can be serialized by the XmlSerializer class and if
it can’t, shows the compiler errors happening behind the scenes so that the
type can be modified. Enjoy.
This just in: Mathew Nolton has posted
a GUI front-end to my XmlSerializerPreCompiler that you might find
useful. Thanks, Matt!

June 16, 2003
(web) matrix reloaded
From Rick Childress (www25.brinkster.com/rchildress):
Web Matrix 0.6 has been released.
June 16, 2003·
spout
Releasing Nested Objects in Rotor
Chris Tavares is making more progress finishing up the Ref-Counting in Rotor
project:
class
FinalizerObj {
int n;
public FinalizerObj( int n ) {
this.n = n;
Console.WriteLine(“Created Finalizer
object {0}”, n);
}
~FinalizerObj() {
Console.WriteLine(“Finalizing finalizer object {0}”, n);
}
}
class
FinalizerContainingObj {
FinalizerObj subObj1;
int n;
FinalizerObj subObj2;
public FinalizerContainingObj( int n ) {
this.n = n;
subObj1 = new
FinalizerObj(n * 100);
subObj2 =
new FinalizerObj((n * 100) + 1);
Console.WriteLine(“Creating containing object {0}”, n);
}
~FinalizerContainingObj( ) {
Console.WriteLine(“Finalizing
finalizer containing obj {0}”, n);
}
}
class
TestApp {
static
void Main() {
for(
int i = 0; i < 5; ++i ) LeakAnObj(i);
}
static void LeakAnObj(int
i) {
FinalizerContainingObj obj =
new FinalizerContainingObj(i);
}
}
Running this
app under our ref-counted Rotor yields the following output:
C:\Home\Chris\Projects\Rotor\src\tests>clix FinalizerTest.exe
Created Finalizer object 0
Created Finalizer object 1
Creating containing object 0
Finalizing finalizer containing obj 0
Finalizing finalizer object 0
Finalizing finalizer object 1
Created Finalizer object 100
Created Finalizer object 101
Creating containing object 1
Finalizing finalizer containing obj 1
Finalizing finalizer object 100
Finalizing finalizer object 101
Created Finalizer object 200
Created Finalizer object 201
Creating containing object 2
Finalizing finalizer containing obj 2
Finalizing finalizer object 200
Finalizing finalizer object 201
Created Finalizer object 300
Created Finalizer object 301
Creating containing object 3
Finalizing finalizer containing obj 3
Finalizing finalizer object 300
Finalizing finalizer object 301
Created Finalizer object 400
Created Finalizer object 401
Creating containing object 4
Finalizing finalizer containing obj 4
Finalizing finalizer object 400
Finalizing finalizer object 401
In other words, all top-level and
2nd-level objects are finalized deterministically. Wahoo!
June 15, 2003
Much Improved FxCop v1.21 Released
FxCop should be part of the build process for any .NET code that has a build process. Recommended!
June 14, 2003·
.net
nprof - Open-source .NET profiler
From Matthew Mastracci: I just released the fifth alpha version of my
free, open-source .NET profiling application. It supports everything I've thrown at it so far (multi-threaded programs, NAnt, SWF apps) and is getting close to feature-complete.
It comes with a basic VS.NET add-in that lets you profile from DevStudio. There is a complete source package on the downloads page for those who are interested in learning how a profiler works, or just want to tinker.