Does Resharper Unit Runner ignore the active solution platform?

I have a problem with the built-in unit runner of Resharper 4.0 (4.0.819.19).

Steps to reproduce:
- Make a new solution: C# windows form
- Tools/Configuration Manager
- Drop down "Active solution platform", choose New
- Select new platform x86, press ok
- Choose the new solution platform x86
- Compile, notice in output window the binary path "bin\x86\Debug"
- Now insert a test procedure and reference nunit
- Run the test with Resharpers unit runner
- Resharper rebuilds the project because there were changes
- Resharper builds the normal "Any CPU" solution platform, not the x86!! (see output window, binary path is "bin\Debug"
- Resharper will start the DLL in "bin\x86\Debug" (which is the correct for the solution platform x86), not the just built one!
- When i change the active solution from x86 back to Any CPU everything works correctly

Or am i doing something totally wrong?

Regards,
Gunter

Edited by: Gunter on Jul 1, 2008 6:33 PM

Edited by: Gunter on Jul 1, 2008 6:35 PM

10 comments
Comment actions Permalink

Does somebody have a look into this?
Or should I file an official bug report via the tracker?

Regards,
G. Spranz

0
Comment actions Permalink

/bump

The Jetbrains unit runner is not usable for me at the moment, currently i use TestDriven.Net.

A short acknowledge would be really nice

Edited by: Gunter on Jul 21, 2008 6:05 PM

0
Comment actions Permalink

Hello Gunter,

There are some problem in VS, when you use mixed platforms in your solution
(some projects are with one platform and some project with another). When
we instruct it to build solution or project, it seems to select platform
to build randomly (may be first one it finds). It is problem in VS automation
and we can hardly do anything about it. You can try to set all projects to
the same platform.

Sincerely,
Ilya Ryzhenkov

JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"


G> I have a problem with the built-in unit runner of Resharper 4.0
G> (4.0.819.19).
G>
G> Steps to reproduce:
G>
G> - Make a new solution: C# windows form
G>
G> - Tools/Configuration Manager
G>
G> - Drop down "Active solution platform", choose New
G>
G> - Select new platform x86, press ok
G>
G> - Choose the new solution platform x86
G>
G> - Compile, notice in output window the binary path "bin\x86\Debug"
G>
G> - Now insert a test procedure and reference nunit
G>
G> - Run the test with Resharpers unit runner
G>
G> - Resharper rebuilds the project because there were changes
G>
G> - Resharper builds the normal "Any CPU" solution platform, not the
G> x86!! (see output window, binary path is "bin\Debug"
G>
G> - Resharper will start the DLL in "bin\x86\Debug" (which is the
G> correct for the solution platform x86), not the just built one!
G>
G> Or am i doing something totally wrong?
G>
G> Regards,
G> Gunter
G> Edited by: Gunter on Jul 1, 2008 6:33 PM
G>


0
Comment actions Permalink

I use Testdriven.Net as a replacement for now and never had a build problem with mixed platform solutions yet with it. Though the setup time for building and debugging a test is significantly longer than with the Resharper unit runner (and Resharper unit runner is much more nicely integrated in the VS GUI). Probably it takes a different approach.

Do you know Testdriven.Net?

Regards,
Gunter

Edited by: Gunter on Jul 22, 2008 1:45 PM

0
Comment actions Permalink

Hello Gunter,

Thanks for pointing out that there is solution to the problem. We will investigate
it further.

Sincerely,
Ilya Ryzhenkov

JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"


G> I use Testdriven.Net as a replacement for now and never had a build
G> problem with mixed platform solutions yet with it. Though the setup
G> time for building and debugging a test is significantly longer than
G> with the Resharper unit runner. Probably it takes a different
G> approach.
G>
G> Do you know Testdriven.Net?
G>
G> Regards,
G> Gunter


0
Comment actions Permalink

I experience the exact same behavior as the original poster with Resharper 4.5.1231.7 with Visual Studio 2008 SP 1.  Running tests causes a compilation of the Any CPU platform, but then executes the old test assembly from the x86 platform location.  It should be compiling and running the x86 platform exclusively.

Is there any update on a fix for this issue?  I couldn't find a related bug in the JIRA tracker.

0
Comment actions Permalink

Yes, this issue seems to have been forgotten.

I have to work with x86 targets for some .Net projects because of 32bit Interop issues. Resharper test runner is useless for such kinds of projects. I help myself with manually setting the output path of the project back to "bin\Debug" (the original path from the Any CPU Platform target) at the moment.

Regards,
    Gunter

0
Comment actions Permalink

Hello Gunter
     Which version/build of ReSharper are you using? Have you tried the latest nightly build of ReSharper 5.0 which is available at http://www.jetbrains.net/confluence/display/ReSharper/ReSharper+5.0+Nightly+Builds? Thank you!

Andrey Serebryansky

Support Engineer

JetBrains, Inc

http://www.jetbrains.com

"Develop with pleasure!"

0
Comment actions Permalink

Can I add a "me too!" to this?  We are seeing the same issue when trying to run the unit tests for our x86 solution platform (our x64 solution platform works OK).

0
Comment actions Permalink

Sorry for the late answer.

I am using the latest released 4.5. I did not try it on the recent 5.0 nightly builds yet, probably i will do.

Anyway, the problem ist really easy to reproduce in 5 minutes.

The final version of VS 2010 will have the target x86 as default for executables. So this problem could probably resurface on a larger scale.

Regards,
      Gunter

0

Please sign in to leave a comment.