实用C#(一)

原创 2002年02月11日 09:27:00
C#实用吗?我们可以把开发平台转移到C#吗?用C#开发的软件,可以在Windows98,Windows2000,XP下直接运行吗?
如何运行?让我们来试试。
 

1. 用C#编一个最简单的console程序:

using System;
 
namespace ConsoleApplication1
{
 class Class1
 {
  [STAThread]
  static void Main(string[] args)
  {
   System.Console.Write( "Hello world." );
  }
 }
}
 
Build通过,生成ConsoleApplication1.exe,才5KB大。运行正常。
环境:安装VS.NET的Windows2000。

2. 这个EXE文件,在Windows98下能直接运行吗?

分析这个EXE文件,发现它用到了mscoree.dll,于是
copy C:/WINNT/system32/mscoree.dll
这个dll文件也不过才128KB,如果带这么一个DLL就能在Windows98下运行C#编译的程序,倒也不错。
 
用Windows98启动,运行ConsoleApplication1.exe,出错:
看来,只有一个DLL远远不够。还需要在Windows98下安装一个 .NET Framework才行。
 
另外,找一个干净的Windows2000环境试验,结果同上,仍然是这个错误对话框。

3. 安装Microsoft .NET Framework

在7CD的VS.NET中,CD5包含一个目录,目录名dotNetFramework,其中只有一个文件,20.8MB的dotnetfx.exe,这就是Microsoft .NET Framework。运行它就可以安装了。
 
在干净的Windows2000环境中,运行以上dotnetfx.exe,安装Microsoft .NET Framework。安装后提示需要重启。现在,那个ConsoleApplication1.exe终于可以正常运行了!
 
在Windows98下运行以上dotnetfx.exe,安装Microsoft .NET Framework,遇到一点问题,提示.NET Framework需要IE5.01以上才行。在VS.NET的CD5中有一目录IE60,80MB大。只好先安装这个IE6了。运行IE60目录下的IE6setup.exe,安装IE6。不必说,IE60安装后需要重启。然后安装.NET Framework,再重启。运行那个ConsoleApplication1.exe,啊!终于出来那行“Hello world"了!

4. 总结

总之,用C#编程序,还是可行的。最终的EXE程序可以在Windows98,Windows2000,XP下运行。只不过需要安装一个20MB的Microsoft .NET Framework。
从另一方面讲,如果要开发的软件是个大型项目,最终用户是高级用户,那么用C#进行开发当然没问题。如果我们要开发的软件是个"Hello world"之类的小程序,如果软件的最终用户是初级用户,那就不太合适了。一个只有1MB的软件不可能拖一个20MB的安装包。也不能发现用户没有安装.NET Framework就不运行,那会失去太多用户。
 
联系我:bookaa@mail.com
 

实用C#(一)

  • zgqtxwd
  • zgqtxwd
  • 2008年04月24日 14:23
  • 84

在C#中调用Microsoft.VisualBasic命名空间下的类型验证函数

  VB.NET中还是有很多有用的东西的。比如VB.NET可以直接调用Microsoft.VisualBasic命名空间下的各种有用的函数,特别是一些类型验证函数(IsDate,IsNumeric)就...
  • esshs
  • esshs
  • 2005年09月03日 11:09
  • 1775

[.Net码农]SQLiteHelper-SQLite帮助类

http://www.cnblogs.com/kyo-yo/archive/2010/05/14/SQLite-Helper.html SQLiteHelper-SQLite帮助类 ...
  • CrackLibby
  • CrackLibby
  • 2015年04月07日 10:03
  • 971

C#下一机一码注册方式的实现

对于做共享软件开发的程序员来说,最让大家头痛的就是辛辛苦苦写出的软件,本想拿来换口饭吃,可刚刚发布到网上就被那些共享主义者(其实业没什么不好或不对,本人就属于这类人,嘿嘿)将序列号和注册机免费发放到网...
  • fzhsow
  • fzhsow
  • 2007年02月17日 08:02
  • 2132

一机一码注册方式的实现(C#)

对于做共享软件开发的程序员来说,最让大家头痛的就是辛辛苦苦写出的软件,本想拿来换口饭吃,可刚刚发布到网上就被那些共享主义者(其实业没什么不好或不对,本人就属于这类人,嘿嘿)将序列号和注册机免费发放到网...
  • hsl_hxx
  • hsl_hxx
  • 2015年06月04日 14:09
  • 1108

C#一个简单的委托示列

何谓委托:委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更...
  • u012943521
  • u012943521
  • 2016年06月11日 00:50
  • 403

C#中委托的理解和使用

C#中有一种特殊的回调(callback)函数叫委托,委托是一种定义方法签名的类型,当需要把方法传递给其他方法时就要用到委托。     我们常常习惯把数据作为参数传递给方法,而当某个方法执行的操作不...
  • wu5101608
  • wu5101608
  • 2013年12月27日 06:38
  • 671

几种常用的高效排序(一)--快排

前面是讲解,不带注释的代码在最后: --------------------------------快排-----------------------------------------------...
  • qq_24451605
  • qq_24451605
  • 2014年12月23日 20:17
  • 759

《MQL4实用编程》读书笔记(1)

《MQL4实用编程》读书笔记(1) “MQL4实用编程”是《用MQL4编程》一书的下半部分。 内容包括:交易操作方法,简单脚本、操盘手、指标的编程原则,常用函数,还有些简单的应用程序示例。 “创建实...
  • lawme
  • lawme
  • 2014年03月22日 23:57
  • 2206

实现前后视图的C#代码

//实现:// 视图数据以soPoint3D表示,x表示中心点X,y表示中心点Y,z表示ViewScale。// 前视图数据和后视图数据以soPoint3Ds表示。// ...
  • LockMyeye
  • LockMyeye
  • 2008年06月13日 11:21
  • 953
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实用C#(一)
举报原因:
原因补充:

(最多只允许输入30个字)