I depend on a mixed-mode assembly which is compiled for x64. Because I do not want warnings in my build, all of the projects in my solution target x64 directly--they are not Any CPU.
To get my x64 unit tests to work properly, I find that I must manually change the Visual Studio unit test Default Processor Architecture to x64 every time I start Visual Studio. This is easy enough but tedious.
Is there a way to get VS to persist this setting so that I don't have to do it every time?
On Visual Studio 2013 I found that after setting "Default Process Architecture" to X64 I'll go and open "Options..." and close it with "OK", then the "Default Process Architecture" will preserved, at least for this one solution.
UPDATE FOR VS2015:
To ensure your test projects run at x64 please do the following:
- Select 'Build' and then 'Configuration Manager' from the toolbar
- Set Platform to x64 for your test project
- If x64 isn't present select 'New' and add x64. You can now select it
Then...
Right-click your test project from the solution explorer and select 'Properties'
Select the 'Build' tab on the left
Change the Target Platform to x64
Note that you might get BadImageFormatExceptions if you are targetting a different platform for your live project. For example if Project1 is x86 and your Project1Test is targetting x64 you will likely come across this issue. You'll need to make sure both are matching (or just select 'Any CPU').