Grand .NET Project Update

As noted previously, Visual Studio 2015 has an excellent free Community edition that prompted me to revisit my .NET resources. Today it’s the turn of my four remaining .NET projects: Tektosyne, Class Diagrammer, Hexkit, and Myriarch. First, a pleasant surprise: VS2015 can read existing VS2010 solution and project files without requiring any update process or changing them in any way! So the recompiled solutions should still open correctly in older Visual Studio versions going back to VS2010.

Less pleasantly, VS2015 defaults to hardware graphics acceleration which triggered numerous crashes in the current (obviously immature) Intel graphics driver for Windows 10. This is easily fixed by disabling the option “Use hardware graphics acceleration” (and “Automatically adjust visual experience” if needed) under Tools: Options: Environment: General.

The same might happen when running any WPF application, including my projects. I didn’t add a similar option to them as I hope and expect this issue to be temporary. Meanwhile, you can disable WPF hardware acceleration in the Windows registry as described here.

Common Updates

Recompiled all executables and (briefly!) checked that they work with Windows 10, .NET 4.6, and Visual Studio 2015. Minimum requirement is still .NET 4 Client Profile which works even on Windows XP SP3, and all solution & project files are still in VS2010 format.

Enabled layout rounding for WPF control borders, as recommended by the .NET 4.6 release notes. Personally I found nothing amiss with WPF border rendering in previous .NET versions but if you did, this might fix it.

Changed format of class references from Microsoft HTML Help to loose HTML pages. Sandcastle’s HTML Help output doesn’t scale well on high DPI displays, and the HTML Help viewer requires Windows whereas any system can display regular HTML pages. The download packages are in 7-Zip format as those were a full five times smaller than regular ZIP archives.

Class Diagrammer and Myriarch were not otherwise changed beyond updating to the new Tektosyne version, but there were some more changes in that library and also in Hexkit.

Tektosyne 5.6.6

Added Windows.DefaultTheme support for Aero 2 and Aero Lite, two variants of the new “flat” look introduced with Windows 8. The two projects that allow theme selection, Diagrammer and Hexkit, were likewise updated to support the new options.

Updated NUnit tests to the latest stable release, NUnit 2.6.4. Currently NUnit still requires .NET 2.0, so you’ll have to install that (via “Turn Windows features on or off” in the Control Panel) alongside .NET 4.x if you want to run these tests.

Hexkit 4.3.3

Removed several useless casts to non-generic ICollection when saving games & scenarios. These casts caused String.Join to emit a collection type description rather than the actual collection contents, resulting in corrupt files that could not be loaded. Thanks to Lenny Woods for reporting this error!

During test games I also observed what appears to be a display error: the same unit could appear in multiple places at once. However, it doesn’t seem to affect the game state and so far I’ve been unable to capture it in the debugger.

Leave a Reply