<p>In Visual Studio 2008 (and others) when creating a .NET or silverlight application if you look at your project properties, it seems like you can only have one assembly name - across all configurations. I would like to compile my application as:</p>

<p>MyAppDebug - in debug mode
and just
MyApp - in release mode</p>

<p>Does anyone know if this is possible?</p>

<p><strong>Edit:</strong></p>

<p>It seems some people are questioning the reasoning behind the question, so I'll explain a little further:</p>

<p>I'm working on a Silverlight application which gets automatically uploaded to our test site when I to a "build solution". The trouble is, the test team are now testing the online version, whilst I work on a new one. So, I want to have a url like .\MyApp.html for the regular version that the QA team will test and then .\MyApp.html?version=debug for the current version that I'm working on.</p>

Sure you can add a post-build event to rename the assembly. This will work if your solution has only one assembly.
But if your solution consists of several projects, you normally have one project referencing the assembly generated by another problem. Imagine your solution has has two projets: the first one creates a Windows Forms exe (MyApp.EXE), which references the assembly created by the second project (MyData.DLL).
In this example the debug EXE would be named MyAppDebug.EXE, and it needs to reference MyDataDebug.EXE. And this will not work with renaming in a post-build event.
Therefore I strongly recommend not to do any renaming.