鉴于Windows 3.5的.NET 3.5编程和客户端使用环境。在以下情况下,对64位操作系统的编程有何影响?请说明是否存在功能或优化问题 - 即它是否有效,是否可以在64位环境中更好地工作。
1)您正在开发一个Web应用程序(asp.net c#)
2)您正在开发一个win form业务应用程序(没有任何驱动程序级别)
3)您正在开发硬件控制器
我原本认为在案例1或案例2中没有任何区别,并且在案例3中可能会有一些警告。但我对64位VPN缺乏支持感到困惑......必定存在一些问题
答案 0 :(得分:1)
对于#1,几乎所有时间都没有区别。我致力于在32位计算机上开发并部署到64位服务器场的大型.NET Web应用程序。我们唯一的问题是使用TFS - 没有直接相关。
对于#2(在某种程度上#3,因为它涉及调用非托管代码的一般主题),一个好的答案可以是found here。
答案 1 :(得分:1)
1.和2.没有区别。除非你特别要求你的二进制文件是针对特定平台构建的,否则.Net工具会编译为IL,它在运行时被JIT编辑到实际平台。即使您在安装时使用该应用程序,对于大多数情况,它也不会影响您的开发过程。
但是,在使用P / Invoke,COM互操作或注册表访问时,在32位计算机上开发并针对64位时,有几点需要注意。默认情况下,应用程序将被JIT编辑为目标系统的本机应用程序,因此:
您可以通过强制将应用程序设置为32位来解决这些问题,尽管这适用于列表中的方案2。
就驱动程序而言 - 我不确定你是否真的可以使用.Net来编写Windows驱动程序,至少我在这方面没有太多经验(我写的最后一个WIndows驱动程序是在1993年为Windows 3.11编写的) :-))。但如果可以的话:
答案 2 :(得分:0)
除了弗朗西的答案之外,请注意一些更抽象的资源也会引发问题。
我通常使用32位的ODBC驱动程序开发,并且必须强制所有应用程序编译为32位。
哦,不要让我开始关于VPN客户端和糟糕的64位支持!网络公司痘痘!