I have a solution that has the following projects (this is simplified butdemonstrates the point):

A C# executable (the main host project) <- Click Once app

AC++/clrlibrary the C# code interfaces with. Note, not /clr:pure nor /clr:safe.

An unmanaged C library that the C++ /clr library interfaces with. This contains optimized native code functionality.

I control the unmanged C library source code. The unmanaged C library is approximately 50,000 lines of code, and therefore cannot (easily) be converted into a managed library (including the fact that there is some native assembly in the library). This library contains code optimized for both 32 bit processors and 64 bit processors. The code, when compiled 64 bit, exhibits a 30% speedup compared to running the code under 32bit emulation. Note, that this 30% speedup is *VERY* significant (we are talking on the order of minutes, not milliseconds, for a single pass through the code).

To deal with this, my solution has 6 configurations, Debug and Release versions for each of Win32(x86), Itanium, and x64.

My problem is the following: I want to click once the three processor specific release configurations during the same build. I currently cannot figure how to do this. I can select a specific release configuration and publish that. Butonce I do that,visual studio cannot publish any other configuration until I close and reopen the solution. THAT is rather silly. So, when I do the build, I have to rebuild the solution, make sure the version remains the same, then change the publish directory, close, reopen, and build the next one. Also, if I don't change the platform BEFORE i close the solution, the *WRONG* platform libraries end up in the build. In other words, if I Close, open, change platforms the x64 binaries end up in the x86 build (or vice versa).

Is there anybody that knows a way around this so that I can do a publish on a configuration/platform level? It seems rather silly to me that the properties for publishing are not at this level...