开发者

How to run .Net Win-Forms application on a 64 Bit OS?

开发者 https://www.devze.com 2023-02-01 06:04 出处:网络
I have made a .Net win-forms applicatio开发者_StackOverflow社区n in C#, on a 32 bit OS (Windows 7).

I have made a .Net win-forms applicatio开发者_StackOverflow社区n in C#, on a 32 bit OS (Windows 7).

It doesn't work on the deployed client-terminal/machine which has a 64 bit OS (Server 2008).

What should I do?

Thank you.


Go to the Build tab of the project's properties and make sure the platform target is set to x86. (This is just my first guess based on the vague information provided. The problem might be caused by something completely else, e.g. the terminal server environment as such.)

You should only change this setting if you need your application to address a large amount of memory or you definitely want to make sure it runs as a 64-bit process.

The AnyCPU setting can hardly be recommended as it may cause you all sorts of pain with respect to native dependencies (I'm not saying it should never be used, but it should be very well considered whether the additional overhead required for deployment and testing is worth the trouble).


Probably you have used some feature that is not available while running the app in x64. Change the build configuration to x86.

If it does work now, you have used some libraries (COM, ActiveX, Office 2007, WinAPI, ...) that does not like to be called from 64 bit.

If it works now, ask yourself: why do I want my app to run using x64 bit? What do I gain? Does it really need to use that much memory?

There is no problem with running a x86 bit app on a x64 bit platform.


If you are using ActiveX controls inside your application or anything else that is not portable to x64, you might have to change the build target to "x86".


If it's a genuine x86 application your x64 environment shouldn't have any problem running it. So make sure all your libraries and your own binary are x86 compatible and don't use x86 exclusive features like specific COM libraries.


You should ensure that you project is being built with the "Any CPU" platform.

The default is sometimes to build for "x86".


Check your build config. I think VS will default to building the app for x86 platforms if you develop in a 32-bit environment. Either change to x64 or AnyCPU, rebuild and try again.

.stompp

0

精彩评论

暂无评论...
验证码 换一张
取 消