Changing a Visual Studio C# project from x86 to Any CPU

WildCrustacean picture WildCrustacean · Jan 27, 2010 · Viewed 41k times · Source

I am working on some C# projects with Visual Studio 2005, and I am trying to change the platform target from x86 to Any CPU. I already went through all the dependencies that I know about and made sure that they were also built for Any CPU using the corflags tool.

When I change the platform target in Visual Studio 2005 it seems like it saves the change, but then when I build the project it still uses x86 anyway. The next time I open the project the platform target has been reset to x86.

This only happens for a couple of the projects in the solution, does this mean that there are other 32-bit dependencies somewhere?

I can manually run the C# compiler on the command line with /platform:anycpu and I don't get an error, but I'm not sure that is the right thing to do and I'd like to be able to build within Visual Studio.

What can I do to solve this problem?

Answer

user7116 picture user7116 · Jan 27, 2010

Make sure you've changed both the Configuration Platform and the Platform Target to Any CPU. If all else fails you can open up the .csproj and manually change the references. Right click on the Project, goto Unload Project. Then right click and goto Edit MyProject.csproj. The properties for the project may still include the default Platform as x86:

  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>

Also consider the case where the Solution still has the x86 configuration in Configuration Manager. I've found for some complex Solutions with multiple projects that have different configurations I have to spend a lot of time in Configuration Manager getting everything straight.