Categories

Navigation

MVP

Microsoft MVP (since 2006) in the XNA/DirectX category

Tag cloud

Ajax (8) All (206) Arena Wars (21) Boo (4) BroodWar (8) Conferences (1) Development (44) Game Development (142) IronPython (3) Lost Squadron (17) Lua (6) meinSport.de (4) Other (150) Polynapping (12) Programming (156) Racing Game (7) Reviews (76) Rocket Commander (49) Silverlight (10) SQL (1) StudiHelp.de (2) XNA (40)

On this page

All XNA Games converted to XNA 2.0 from Rocket Commander to the Racing Game.
Pics from my new office in Hamburg
Converting XNA 1.0 Projects to XNA 2.0
SQL Tools for synchronizing databases
German: Arbeitsbedingungen in der Spielebranche
Fixing the 'Could not load file or assembly 'xunit, Version=7.10.25.1028'' error
What to do if you receive the System.Runtime. InteropServices.COMException error in Visual Studio
XNA 2.0 released
XNA Game Studio 2.0 beta is now available
Visual Studio 2008 and .NET 3.5 released
Searching for a C#/ASP.NET Programmer for meinSport.de
Lots of Information about XNA 2.0
CoDe Magazine: Microsoft XNA: Ready for Prime Time?
Dungeon Quest Updated with Source Code now
Migrating from Silverlight 1.1 alpha to 1.1 alpha refresh and that lovely AG_E_RUNTIME_ HTML_ACCESS_RESTRICTED error
Silverlight 1.0 RC and 1.1 Alpha Refresh released
VS 2008 and .NET 3.5 Beta 2 Released
Silverlight Error Codes Explained!
Xna Project Changer Tool (with VS 2008 support)
Fixing the Sys.Res. namespaceContainsObject error with ASP.NET Ajax+Silverlight
Silverlight and Web Services
RegionAddin to fix collapsing and expanding regions in Orcas and IronPython region support!
MVP again!
Quick Tip: Getting rid of the "Unable to copy file" error in Visual Studio
FX Composer 2!
Quick Tip: Exclude Files and Folders from Source Control
Debugging Silverlight in Visual Studio
Fixing the "Child nodes not allowed." bug in Visual Studio Orcas under Vista
CodeRush has now VS Orcas support
Fun with Visual Studio Orcas
Using FreeMind to visualize your .txt TODO list
Tools 2007: Using VS Orcas, Multiple monitors, FreeMind, SourceGear Vault, OnTime, Screenshot Captor and StarCraft II
Article in Wired about Dungeon Quest from the GDC 2007
StudiHelp.de Beta Launches
Silverlight and I spotted A Racing Game Mod: Cyber Car
My XNA book is out and XnaProjects.Net launches
XnaRacingGame.com goes online
XNA Racing Game downloads now available on creators.xna.com
Quo Vadis Conference 2007 Photos
Quo Vadis Conference 2007 (die-entwicklerkonferenz.de)
How to allow web services to be called and tested remotely
Unit testing for web sites
Reusing ascx web controls
Annoying Files Remover Tool

Archive

Popular

My Bookmarks
CR_Commenter Update v1...
Contact
A new more effective k...
Getting XNA to work in...
How to write a CodeRus...
NormalMapCompressor v1...
English Rocket Command...
Migrating ASP.NET VS20...
The year 2005 - Review...
Rocket Commander V1.1 ...
New look for www.exDre...

Blogroll

Projects

Arena Wars (2004)

Rocket Commander (2006)

Pizza Commander (2006)

Rocket Racer (2006)

Coop Commander (2006)

Flower Commander (2006)

Fruit Commander (2006)

Euro Vernichter (2003)

Lost Squadron (2005)

Zombie Quest (very simple 2D Adventure, 2006)

Freifunk Hannover project (GoogleMaps support)

Older projects (2000 and earlier)

MeinSport.de - German Sport Community Site

About

About me: Contact

Send mail to the author(s) Email:

Total Posts: 213
This Year: 9
This Month: 0
This Week: 0
Comments: 403
Made with

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

RSS 2.0 | Atom 1.0 | CDF

My brothers

netfreak.de

mirkman.de

Sign In

 Monday, February 11, 2008
Monday, February 11, 2008 11:48:36 PM UTC (  |  |  |  |  |  |  |  |  )
Even when I did not post much last week I was very busy converting all the old XNA 1.0 games to XNA 2.0. I did not only convert all projects (8 games in total, see below), but I also tested them extensively on Windows XP, Vista (32 and 64 bit) and the Xbox 360. Additionally a lot of usability improvements have been implemented in the games, for example the XNA Shooter is now much easier (was almost impossible to even reach 50% of the level) and a lot more fun due better balancing. The XNA Racing Game has now a better physic engine and will not longer let the car fly out of the track or leave ground in loopings. Due the better input control and fixed physics the cars drive now much faster and it is more challenging to complete the tracks in shorter time frames.

Games in this article:
Please read my previous post about Converting XNA 1.0 games to XNA 2.0 for all technical tips. All the games can also be found on http://XnaProjects.net, but I will also make them easier accessible on this blog soon, which has an update overdue (need to clean up the left and right sides) ^^

Thanks to the great VS2005 support of XNA 2.0 all games have now just one single solution file, which works on Windows and the Xbox 360. The projects can be opened in XNA Game Studio 2.0 and Visual Studio 2005 without having to convert the files over and over again like in the past. The Icons for all games were also improved. Lets take a look at the Icons (.ico files) on Windows:


For the Xbox 360 game icons the .png files (usually named GameThumbnail.png) are used:


Ok, let's take a look at the games and what has changed for them. Most games are pretty much the same as for XNA 1.0, but a lot of smaller bugs were fixed and they have been tested more.

  • Chapter1Game: This application is not really a game, but a test project to check out if XNA 2.0 is properly working on both Windows and the Xbox 360. It is from the first chapter of my book "Professional XNA Game Programming". BTW: The second edition of the book is coming out soon, there are 3 more chapters about Multiplayer game programming and a cool new role playing game.

  • Xna Pong: Xna Pong is a simple clone of the favorite pong game from 1978. It is just a few hunderd lines of code and should be very easy to understand.

    This game is from the book "Professional XNA Game Programming" by Benjamin Nitschke. For more information read chapter 2. (2008-02-10: Now updated to XNA 2.0)

  • Xna Breakout: XNA Breakout is a simple Breakout/Arcanoid game based on the XNA Pong game from the previous chapter.

    It is fully described and covered in Chapter 3 of my book "Professional XNA Game Programming". The code is quite short and should be easy to understand. (2008-02-10: Now updated to XNA 2.0)

  • Xna Tetris: This is a simple, but highly addictive Tetris game. You can control the blocks with your cursor keys, aswd or a game pad and the game works both on Windows and the Xbox 360. Reaching levels above 5 is really hard. My highest level was 9, try to reach more :) (2008-02-10: Now updated to XNA 2.0)

    This game introduces the helper classes (chapter 4 of my book) and makes more use of unit testing and game components in XNA.

  • Rocket Commander Xna: XNA port of the famous Rocket Commander game. The game principle stayed the same, but the controls were a little bit simplified to make it more fun on the Xbox 360.

    If you want to learn more about the Rocket Commander game, check out its official website www.RocketCommander.com and check out the Video Tutorials on Coding4Fun by MSDN. (2008-02-10: Now updated to XNA 2.0, also supports very big resolutions now and runs faster on the Xbox 360)

  • Xna Shooter: Shoot'n'up game specifically created for my book "Professional XNA Game Programming". It features full HDTV support, runs on Windows and the Xbox 360, 5 weapon types, 5 enemy types, a powerful ship and some power ups. It is quite fun to play and it gets harder and harder the longer you play. Based partly on the Rocket Commander XNA engine, but also features lots of new effects and shaders. (2008-02-10: Now updated to XNA 2.0, also much easier and balanced)

    This game and the racing game are the most improved. The game works now much better in high resolutions and on the Xbox 360. But most importantly the game is now much easier, balanced and more fun. Additionally a level percentage is now visible on the bottom and more EMP bombs can be picked up to make it easier at the end of the level.
  • Xna Racing Game: XNA Racing Game Starter Kit I wrote for http://creators.xna.com. More information and more downloads can be found on http://XnaRacingGame.com. It runs best on the Xbox 360 in HDTV (1920x1200), but it also runs fine on the PC. (2008-02-10: Now updated to XNA 2.0, driving also improved a lot, better tested on Xbox 360 and fixed some issues).

    Following things were improved: Shadow mapping on very big resolutions works now (crashed before), more options for lower quality settings, fixed physics, car now always stays on the road, fixed loopings, cars are much faster now, winning conditions work better now, and fixed several other bugs.
  • Dungeon Quest GDC: And finally the Dungeon Quest XNA Game, which was developed in just 4 days on the GDC 2007 at the XNA Contest. Dungeon Quest GDC is a relatively complex 3D role playing game (at least for just 4 days of work). An early version even supported coop multiplayer on the Xbox 360 via splitscreen. The game was developed by Benjamin Nitschke (abi.exDream.com) and Christoph Rienaecker (WAII). (2008-02-10: Now updated to XNA 2.0). This is NOT the full Dungeon Quest game (see www.DungeonQuestGame.com for that), this is just the GDC version.

    Please note that the level was reduced to allow loading on the Xbox 360 (which otherwise crashes with an OutOfMemoryException), the game is not fully playable, only the first part is implemented. You can also press F2 to toggle the Options menu and some minor bugs were fixed. But this game is no longer supported, I will not improve it anymore! Please check out the new Dungeon Quest game from www.DungeonQuestGame.com, which is coming in a month or so.
Have fun with all the games :)
 Friday, February 01, 2008
Friday, February 01, 2008 4:50:16 PM UTC (  |  |  |  |  )
As I briefly mentioned before one of my companies (realis communities) moved to Hamburg and we got a nice new office directly at the Alster sea in the city.

Here are a few pictures to give you an impression. We work here for a few weeks now and are now setteled in.


This is my desk, as you can see, there are a "few" monitors there (and all of them quite big, ranging from 24 to 19 inch). I mainly look at the big 24" in the middle, but also use the other two. On the left side is my laptop, it is not always there, but it is useful from time to time if I need another PC for testing something. But even with this large space (I control everything with 1 keyboard and mouse via the program Synergy), I still have so many overlapping windows. After reading this article (Joining The Prestigious Three Monitor Club) from Jeff Atwood at CodingHorror.com I thought the more space you have the less overlapping windows you should have. But it is more like the more space you have, the more programs you have opened up :) I still use Switcher quite a lot to find the program windows again.


Ok, back to the office, this is one of the other rooms where most of my colleagues sit, currently most of them are away shooting some new video for meinSport TV. They are all nice guys, but you know, no programmers, do I have to say more?


Then there is finally the view out of the window, its still winter, but all that water from the Alster is comforting.

Next I will shoot some photos of my setup at home (more PCs, less monitors, but big ones ^^). I hope this does not bore you.
Friday, February 01, 2008 12:32:32 AM UTC (  |  |  |  |  |  |  |  |  )

When I wrote this (a little bit each day while working on converting the old XNA projects) I was very aware about the disappointment of my blog readers about the fact that I did not blog much in the last couple of months, especially on XNA. I not only got a lot of emails about that, but also quite a lot of questions, especially since XNA 2.0 was released. I made yet another promise to myself to change that and finally blog more, maybe not only when something very interesting pops up, but instead about the everyday issues I run into.

Some Notes about XNA 2.0: More solid, lots of little new features, networking, while it may not be a very complete solution, at least it is now possible on the Xbox 360 and overall I have the feeling even more people are interested in XNA than a year ago. Plus the guys at the XNA Team doing a great job and are constantly improving the XNA Creators Club website for us game programmers and artists :)


Several people had problems using the old XNA 1.0 code of my games and make them work with XNA 2.0, so here is a little help in case you want to convert XNA 1.0 projects to XNA 2.0. You will also notice this if you go to any XNA community site as most samples will still be in XNA 1.0 and not work out of the box in XNA 2.0, and many of those will probably never be changed since they are not longer actively being developed.

For most games almost all of the code can stay unchanged, you just have to poke at a few things that have changed in the framework or were improved. More information about converting projects can be found here (read this first, this article is based on the stuff there). You can also use the Cross-Platform Game Project Converter from XNA 2.0 to add a Xbox 360 project to your existing Windows XNA project without having to create a separate project (it is helpful, but I used pretty much the same trick for all of my XNA 1.0 games anyway).

Let's go through the steps:

  1. Either use the XNA project conversion utility (can be found on the XNA Creators Club website) or just create a new XNA 2.0 project in VS 2005.

  2. If you created a new project, drag all source code files into the project and seperate the content files out and put them all in the existing Content directory (only there the content pipeline is activated). If you just converted a project and the content files did not move, move them yourself to the content directory. Gladly all my projects with more than 5 content files had a special content directory anyway, so no need to change anything content-wise for them. If you don't want some of the files to be compiled to .xnb files, you have to change the build action from "compile" to "content" (and then use the "copy to output directory" switch) or to "none" if you want them to be ignored like for .wav files, which are automatically processed by the .xct (XACT) file for you.

  3. Find the line content = new ContentManager(Services); and replace it with Content.RootDirectory = "Content";. If you do that, get rid of the content manager in your game class since you can now use the build-in Content property to access the underlying Game content manager. In case you don't want to do that or if you need an extra variable, replace the above line with content = new ContentManager(Services, "Content");. Both ways will make sure all the content is now loaded from the content directory instead from the main directory of the application. In more complex XNA games you can also change the BaseGameDirectory to the content directory, but then you would also have to move all other resource files to this directory (config files, save games, levels, etc.). It is usually a good idea to separate the compiled (.xnb) content from the content the user can change (config, levels, etc.), so I suggest just redirecting the content directory of the content manager.

  4. Replace the LoadGraphicsContent(bool) method with LoadContent, remove all the if (loadAllContent) commands (was never false anyway, just let the content of the if loop stay) and also remove the call to base.LoadGraphicsContent(bool) (does not do anything like all the Load or Unload methods in the XNA Game class, they are just empty virtual methods). You can also ignore this and the next step since it will only generate depreciated warnings, but I suggest cleaning up your source code whenever an opportunity like this presents itself. I also added some missing region blocks to the code and some comments here and there were they were missing.

  5. Finally delete the UnloadGraphicsContent method unless it did anything beside base.Unload and base.UnloadGraphicsContent. In my XNA games the UnloadGraphicsContent usually looked like this and can be safely removed now (at least if nothing else is in there):
  6. /// <summary>
    /// Unload graphic content if the device gets lost.
    /// </summary>
    /// <param name="unloadAllContent">Unload everything?</param>
    protected override void UnloadGraphicsContent(bool unloadAllContent)
    {
      if (unloadAllContent == true)
        content.Unload();

      base.UnloadGraphicsContent(unloadAllContent);
    } // UnloadGraphicsContent(loadAllContent)


  7. In case you load sound and music via the AudioEngine, you have to change the directory to the content directory too, which will not be done automatically for you since you load the .xct file directly in the AudioEngine constructor. Basically just exchange the following code:

    audioEngine = new AudioEngine("YourSound.xgs");
    waveBank = new WaveBank(audioEngine, "Wave Bank.xwb");
    soundBank = new SoundBank(audioEngine, "Sound Bank.xsb");

    with:

    audioEngine = new AudioEngine("Content\\YourSound.xgs");
    waveBank = new WaveBank(audioEngine, "Content\\Wave Bank.xwb");
    soundBank = new SoundBank(audioEngine, "Content\\Sound Bank.xsb");

       
  8. In case you have used the StorageDevice and specifically the ShowStorageDeviceGuide helper method, it is gone now in XNA 2.0. I had it in some helper classes, but never actually used it. In case you want to show a save game dialog (or some network game select dialog for example), please follow the XNA 2.0 help instructions to do this asynchronously now.

  9. In case you use any ResourceUsage enum, replace it with TextureUsage instead or remove it if the issue is not texture related. You can also safely remove any ResourceManagementMode.Automatic parameters, which are not longer supported. Everything is now automatic anyway. Just if you have been using ResourceUsage.RenderTarget you will need to change the Texture2D class to a ResolveTexture2D class in order to archive the same behaviour as before. Some calls to the device (e.g. ResolveBackBuffer) have also changed and require a ResolveTexture2D now. You may also want to check if you have any manual texture management or disposing, which you can remove or simplify.

  10. For simpler games (2D) games you should be done now. More complex games using render targets and other features that have changed in XNA 2.0 will require some more changes, but after you have done them once (or know where to change what) this is also a quick process.

The following only applies to the RocketCommanderXna, XnaShooter and XnaRacingGame engines, but you might find similarities with other XNA games and the converting process:

  1. First of all make sure the old XNA 1.1 code gets compileable by going though the changes mentioned above (e.g. replacing ResourceUsage with TextureUsage or BufferUsage) and removing everything that does not exist anymore (like ResourceManagementMode.Automatic). If a method is non-existent in XNA 2.0 like ResolveRenderTarget, comment it out and remember where it happened.

  2. You might go through other issues, but you have to come back to the RenderTarget issue. This took the most time in the converting process for me (probably half of all my issues come by something related to changes with RenderTargets in XNA 2.0). For that reason always make sure that rendering to textures still works while you make changing. I always used the TestCreateRenderToTexture unit test inside the RenderToTexture class to figure things out.

  3. Additionally to making some changes in the BaseGame class (loading content via LoadContent, using the base.Content instead of creating a new content manager, etc.) I also removed all the RenderTarget helper methods and fields from the BaseGame class (SetRenderTarget, ResetRenderTarget, etc.) and moved them into the RenderToTexture class. While this makes the code more clean and restructured by making a few more fields private, if you do not call the new InitializeDepthBufferFormatAndMultisampling of the RenderToTexture class the calls to SetRenderTarget and ResetRenderTarget will not work correctly and will not restore the default depth buffer (which has to be remembered first). If you get the following exception it means the DepthBuffer Device.DepthStencilBuffer was set to null, but is obviously still used. In order to fix that make sure the remDepthBuffer variable is set to a correct value in the InitializeDepthBufferFormatAndMultisampling method!

  4. An error has occurred during the Clear operation while trying to clear the depth or stencil buffer, no DepthStencilBuffer surface exists.
    System.InvalidOperationException: An error has occurred during the Clear operation while trying to clear the depth or stencil buffer, no DepthStencilBuffer surface exists.
    at Microsoft.Xna.Framework.Graphics.GraphicsDevice.Clear(ClearOptions options, Color color, Single depth, Int32 stencil, Rectangle[] regions)
    at Microsoft.Xna.Framework.Graphics.GraphicsDevice.Clear(Color color)

       
  5. 4. Even if you have now done everything, the app may still crash when you are trying to clear a render target (which usually happens at the start of each pre or post screen shader). The reason for the following error is the multi sampling format, which might be set to the background buffer, but not to the render targets:


    The active render target and depth stencil surface must have the same pixel size and multisampling type.
    System.InvalidOperationException: The active render target and depth stencil surface must have the same pixel size and multisampling type.
    at Microsoft.Xna.Framework.Graphics.GraphicsDevice.VerifyDepthRenderTargetCompat()
    at Microsoft.Xna.Framework.Graphics.GraphicsDevice.Clear(ClearOptions options, Color color, Single depth, Int32 stencil, Rectangle[] regions)

       
    In order to get rid of this error without changing the RenderToTexture class a lot, you can just comment out the line where multi sampling is activated in BaseGame:

    //this.graphics.PreferMultiSampling = true;

There are probably even more things that I forgot while converting the projects (converted 8 games and about 15 projects in total now), but the above list should be helpful. Especially for me because I always forget some of those little things and having this checklist is very helpful.

Tomorrow I will probably test all the XNA 2.0 games on my Xbox 360 and make some final adjustments and then post them all on http://XnaProjects.net (and here).

 Thursday, January 31, 2008
Thursday, January 31, 2008 7:10:32 PM UTC (  |  |  |  |  |  )
In the past I usually updated any local database changes directly at the server everytime I uploaded something. If your database is small and the changes occur not very often, this is not a big issue, but once the database grows and especially if you update something here and there very often, it is an absolute waste of time and annoying to do all this by hand. The SQL Management Studio does not really help you out like for example when you are trying to backup data or restore them again. You can connect to two databases, but you can't even have them side by side in a window and you certainly cannot drop anything from one db to the other. You will be able to copy some data from one table into a table of the other db, but that is pretty much about it.

Scripts are helpful, but if you are not a SQL pro and do not want to waste even more time getting involved with that (keep in mind I did most of my SQL coding in either LinQ or some other object releational mapper like EntitySpaces). I checked out some tools a year ago, but saw not really the need to purcase them (especially when you need these tools once a month for 5 minutes and they cost like 500 bucks). I think I bought something cheap and crappy for a few bugs, but it does not work anylonger and did not support my 64bit system. If you do a google search on sql tools you will find a lot of tools, and quite a lot cheap and crappy ones too, probably also quite a few free tools. But the more business related the problem is, the more unlikely it is to find freeware and open source (nobody wants to do this for free). Sometimes I get lucky and find exactly what I'm looking for and it only costs somethink like 19 bucks, then it is ok, even if you use it just for a short while.


Anyway, today I checked out some tools again, first the Teratrax Database Compare tool, which is nice and simple, but does cost quite a bit ($200 per developer). After I entered all the data for both databases it was able to figure out where there are changes, but once I tried to actually synchronize the database schemas (remember, I'm not interested in the data, copying that over is not so hard, I even have some functions in my code that do that) the program stopped and cleared all fields. I checked both dbs and nothing happend. I tried it some more times, but no errors appeared, it just did not work. This was very frustrating.


Instead I went to the next google search result ^^ It was SQL Compare 6 from Red-Gate. I'm already a Red-Gate customer (using the Ants Profiler quite a lot and recently have been using the new Exception Hunter tool), but I always found their SQL tools to expensive for me, especially since I do not do much SQL work (at least I don't want to ^^). Anyway, I fired up SQL Compare after installing their whole SQL toolbelt and quickly entered the connection data for both db connections, clicked next a couple of times, saw some nice statistics and messages and was all done. I checked my local database I used for testing and yes, everything from the other server was there, with default values, descriptions and so on. SQL Compare 6 is priced at around $300, so even more expensive then Teratrax and certainly more expensive than some of the other tools I have encountered. But it works and if I need it again for a few more times in the next 2 weeks (the trial period) I will probably buy it. The amazing thing is that they claim they have already 150 000 customers of the SQL tools, that is quite a lot of money they have generated with some developer-specific-tools. But then again, more than a million people have downloaded XNA Game Studio Express and I would not have guessed there are even so many programmers around (at least I do not see them in the real world, maybe they are all hiding).

Ok, end of story, all the boring database stuff is well again. Also makes generating database code much faster when done locally from a synchronized database instead of pulling the schema from some online server.

 Tuesday, January 29, 2008
Tuesday, January 29, 2008 4:44:20 PM UTC (  |  |  |  |  |  )
A friend of mine (Hi Frederic Schneider ^^) wrote a little article on gameports.net about the work conditions in the games sector, especially about game programmers, designers, artists and journalists. I also answered some questions. It is written in german and may only apply to Germany, but I guess it is not much different in other countries (relative low wages, not a good job security, lots of underpayed interns, long workhours).

Here is the article:

And here is a followup article:

 Monday, January 28, 2008
Monday, January 28, 2008 5:25:26 PM UTC (  |  |  |  |  )
In case you run into the following error:

Could not load file or assembly 'xunit, Version=7.10.25.1028, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
    System.IO.FileNotFoundException: Could not load file or assembly 'xunit, Version=7.10.25.1028, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
    File name: 'xunit, Version=7.10.25.1028, Culture=neutral, PublicKeyToken=null'
    at Xunit.TdNet.TdNetRunner.RunTests(Type type, MethodInfo method, ITestListener listener, TestRunState& runState)
    at Xunit.TdNet.TdNetRunner.RunMethod(MethodInfo method, ITestListener testListener)
    at TestDriven.TestRunner.AdaptorTestRunner.Run(ITestListener testListener, ITraceListener traceListener, String assemblyPath, String testPath)
    at TestDriven.TestRunner.ThreadTestRunner.Runner.Run()
    
    WRN: Assembly binding logging is turned OFF.
    To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
    Note: There is some performance penalty associated with assembly bind failure logging.
    To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

This usually just means you have installed a newer version of xunit (in my case 1.0.0.1105), but you also had an older (beta, rc, etc.) version of xunit before, which maybe used the xunit.installer.exe utility to add support to TestDriven.NET 2.x or ReSharper 3.0. Just disable the support with this tool, Visual Studio and TestDriven (or ReSharper) work fine with the new version without that extra tool. In fact you can delete it after you have disabled all options.

Monday, January 28, 2008 3:21:17 PM UTC (  |  |  |  |  |  |  |  )
Hi everyone,

I prepared some new exciting blog posts, especially about XNA and I will post them shortly and also quite a few things will change at this blog. Stay tuned.

Recently one of my companies (namely realis) moved to Hamburg and I have a new PC at the new office, where I installed Visual Studio 2008 and everything else I needed. After I downloaded the latest source code files from Team System, I ran into some problems. BTW: The Team System trial will end next month and I will probably not switch back to SubVersion, but instead go back to Visual SourceSafe since the integration is the best in Visual Studio. Team System is nice to have but absolutely not something important for me as I'm most of the time the only guy using it anyways.

Back to the Problem. After I loaded the main solution the 2 web applications in it were unable to be loaded. The rest of the projects did load fine and worked after a while until I had all the missing Assemblies installed (xunit, Ajax stuff, Silverlight, IronPython, EntitySpaces, etc.). But even after making sure Silverlight and the Silverlight Tools for Visual Studio Alpha was installed and working (checked it by creating a new Silverlight project, which worked fine), I was still unable to load those projects. I thought at first maybe something went wrong when I checked in or out all the files, but after testing it on my laptop this was not the issue, all files are intact. Everything worked just fine on my laptop, where I had done most of my work during the move and first weeks until everything was finally working here.

After digging around a bit I went back to the IIS were those 2 websites should run on and they did not run yet (not compiled yet, no wonder). But even after I pointed to some dummy website the IIS did throw out some errors (first some dlls were missing, they were quickly replaced, then some security issues with Vista, also easy). Then I pointed back to the location of the projects and made sure IIS was working this time. Now I could go back to Visual Studio and finally load the web projects.

If you have such a InteropServices.COMException, try to see if you have missed something like the Silverlight Tools for Visual Studio Alpha and then figure out if your IIS is working. You can also edit the .csproj file and remove the references to IIS at the very end of the file to see if the project can then be loaded (using IIS again is not hard through the project properties).

Hope this helps (phase stolen from ScottGu, btw: really cool stuff going on over there, the ASP.NET MVC framework is nice and the .NET Framework SourceCode is very helpful!)

 Thursday, December 13, 2007
Thursday, December 13, 2007 8:35:44 AM UTC (  |  |  |  |  )
As mentioned here in the official press message from Microsoft XNA 2.0 was released today after a very short beta phase which did only run for a few weeks.

You can download XNA 2.0 from Creators.Xna.Com, but for now it just says "XNA Game Studio 2.0 will be available early morning, Thursday Dec 13th, 2007 PST.". This will hopefully change soon ^^

http://creators.xna.com/Education/GettingStarted.aspx

Since XNA 2.0 is now out I will talk about some of its new features shortly and comment a little bit about the new networking API and Xbox LIVE features. Stay tuned.
 Tuesday, November 20, 2007
Tuesday, November 20, 2007 12:24:41 PM UTC (  |  |  |  |  |  )
The long awaited XNA Game Studio 2.0 beta is now available and can be downloaded from the XNA Creators Club website: http://creators.xna.com/beta/betahome.aspx

My first impression of the new multiplayer API is not that good. While it is very nice to have the ability to use networking on the Xbox 360, it is not only too hard to make it work on just a Windows PC and secondly you cannot expect that your gamers will both have a Xbox LIVE Gold membership AND a XNA Creators Club membership (both cost money). This means if you really want to do networking on a Windows XNA 2.0 game, you have to use System.Net and write it all yourself or no one will ever play your game on Windows except some XNA developers maybe.

Other than that XNA 2.0 is a great improvement, but it does only work with VS2005 yet, maybe they missed the VS2008 release earlier yesterday ^^ But it will probably be possible to modify the .csproj files again to make it work in VS2008 (without the extra XNA features and content pipeline).

 Monday, November 19, 2007
Monday, November 19, 2007 7:59:45 PM UTC (  |  |  |  |  |  )
Great news from ScottGu's blog: The final Visual Studio 2008 version and .NET 3.5 were just released :)

I have been waiting the whole day and kept refreshing the MSDN page, but I could not really believe that they actually ship today ^^

VS 2008 will probably not be much of a change for me because we have been working with the VS 2008 betas for over a year now.

I might also blog a little bit about IronPython, which I have used for smaller projects and plan using for bigger stuff in the future too. The best feed for IronPython News is: IronPython Url's

Btw: Pretty quiet on my blog for a while now, I should continue blogging. Always being too busy to write anything here is not a good thing. Gladly all my current projects work really good and are still fun to maintain, even as they grow bigger and bigger.

Update 2007-11-20: I have to say the ASP.NET Designer in VS2008 is really good again. The designer did not work well for most of my projects in VS2008 beta 2 and it was always annoying to have the million ASP.NET errors poluting the ErrorList (now they are just warnings and can easily be switched off). Overall I'm very pleased with the VS2008 so far, uninstalling VS2008 beta2 was a bit of work, but everything is working nicely now. More info and improvements in VS2008 can be found on ScottGu's blog