我记得太阳的口号如此生动...... "写一次,随处运行".这个想法是因为程序被编译成标准字节代码,所以任何带有Java虚拟机的设备都可以运行它.多年来,Java似乎已经在许多平台/设备上实现了它.
这是意图还是.NET的意图.如果是这样,为实现这一目标,正在做出哪些努力?
为了纠正其他人的一些评论,.Net总是打算成为多平台的.这就是为什么微软将名称空间分为"System.*"(平台中立)和"Microsoft.*"(Windows特定).
有单声道运行在Linux,Solaris和OS X.在实践中的.Net仍是相当多仅Windows平台.相反,将它推向WORA并不符合微软的利益.然而,似乎是跨平台的.很多人对Linux上的Mono非常偏执.MS的假设策略是首先让它成为Linux应用程序平台的重要组成部分,然后释放律师.我不打赌我的未来在.Net的可移植性上.
答案是非常不稳定的.包含外部库的那一刻,答案变为否.
例如,Microsoft没有64位JET驱动程序..NET使用JET来访问MS Access数据库.
在使用MS Access数据库的任何CPU目标上编译的任何应用程序都将在64位版本的Windows上失败.
(这忽略了所说的应用程序不能移植到Mono.)