RSS 2.0 Feed
2004-01 Entries
摘要:在用NAnt的过程中一直有个问题没弄清,那就是al.exe在NAnt中的用法。我们知道,al的用途是将不同的资源文件(如图标、本地化文件)或程序集模块等连续成一个具有清单(manifest)的.NET程序集(Assembly),但是在NAnt中具体该怎样写build文件来调用al呢?   下面为了说明方便,我先给出一个简单的例子:   file1: Client.cs using System;   public class Client {        public static void Main(string[] args)        {               // make sure two numbers provided               if (args.Length!=2) {                      Console.WriteLine("please provide two numbers");                      return;               }                 // Call Helper.Add() function to make a simple calculate               int x=Convert.ToInt32(args[0]);               int y=Convert.ToInt32(args[1]);                 int total=Helper.Add(x, y);                 Console.WriteLine("{0} + {1} = {2}.", x, y, total);        } }   file2: Helper.cs public class Helper {        public static int Add(int x, int y)        {               return x+y;        } }   上面是一个很简单的加法运算的例子,为了用到al.exe,我把客户端调用(Client)和业务逻辑(Helper)分离在两个单独的.cs文件中。传统的.NET SDK编译方法是:   1.       编译Helper.cs csc /t:module Helper.cs   2.       编译Client.cs csc /t:module /addmodule: Helper.netmodule Client.cs   3.       连接 al Helper.netmodule Client.netmodule /t:exe /out:HelperDemo.exe /main:Client.Main   这样三步下来就可以使用生成的HelperDemo.exe了。不过上面这些步骤在NAnt中该怎样实现呢?我查看了NAnt安装目录下的文档,其中在(注:这是NAnt中以XML格式抓抓撰写build文档的一种方式)节点下的确有一个节点,可是其中没有给出/main的实现形式,这也就意味着代码根本无法连接成功,因为.NET运行时环境是无法调用没有.entrypoint标记的程序集的。   这个问题的确让我很费脑筋。我想自己可能钻牛角尖了,因为NAnt一定会提供一个非常方便、非常直接的连接机制的。今天上午,当我再次用NAnt撰写build文件时忽然想起了什么——在节点下有一个main属性,它肯定是用来指定程序集的入口点的,而NAnt一定是把al.exe的连接过程包含在csc任务里了,这样反而简化了build流程。对!就试试!   于是我写成了下面的build文件:   <project name="HelperDemoBuild" default="build" >     <property name="file1"......[阅读全文]

posted @ | Feedback (0) | Filed Under [ 技术 ]

摘要:原来一直挺关注MONO,希望有朝一日也能把自己的.NET程序拿到Linux上去玩,不过一直没动手去研究MONO,反而在一个偶然的机会接触了DotGNU(http://www.dotgnu.org),在Linux下面成功编译了shell版的HelloWorld。大家如果有兴趣请看我写的这篇文章——HelloWorld——.NET on Linux!( http://blog.joycode.com/musicland/posts/11660.aspx)。    ...[阅读全文]

posted @ | Feedback (1) | Filed Under [ 技术 ]

摘要:我这人比较喜欢隔段时间换点新花样,不论是操作系统、开发工具还是文本编辑器。这不,前段时间看过MSDN TV——Lap Around Longhorn (http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20031028LHORNDB/manifest.xml)之后,就被Don Box玩Emacs给弄得晕头转向,觉得那实在是一种cool极了的表现,于是就也摆弄起Emacs来。几经折腾,终于能在Emacs里写C#代码了。高兴之余,写了篇流水帐http://blog.joycode.com/musicland/posts/11300.aspx,希望能和大家分享我的快乐。:>  ...[阅读全文]

posted @ | Feedback (4) | Filed Under [ 技术 ]

摘要:今天在新浪科技(http://tech.sina.com.cn)上看新闻时看到了这篇:《交大铭泰今日香港挂牌上市 融资3100万港元》(http://tech.sina.com.cn/it/2004-01-09/0942279836.shtml)。文中有几处值得注意:   “交大铭泰作为国内首支‘翻译概念股’上市……”   “交大铭泰将配售70,000,000股股份予专业投资者、机构性投资者及私人投资者。根据每股配售价下限0.43港元计算,在扣除有前开支后,集资总额估计约达3100万港元”   “交大铭泰在过去两年的业绩表现十分出色,其于2002年的营业额及纯利分别较2001年大幅上升27%及30.5%,毛利率变维持于60%的高水平。而这些业绩的取得主要来自公司的信息本地化业务” ……   说实在的,长期以来我一直不太喜欢交大铭泰这家公司(对了,原来它叫实达铭泰,好像再早些还有个其它的名字)。感觉它在很长一段时间内毫无方向,基本上金山做什么它也去做(除了办公和游戏软件之外)。毫无创意不说,给人留下的反而是一种投机商和搅局者的形象——哪里有市场空间就马上扎进去,甚至不惜把这片市场搅乱,最后两败俱伤。当然,这也是交大铭泰长期以来咒骂金山的一句话,何恩培可能做梦都想把半路上出来抢饭碗的金山词霸给挤下去。   可就是这样的公司,现在却稳稳当当地挤进香港证交所了。我真不得不佩服何恩培的交际能力,真的!要知道,金山为了上市已经折腾快三四年了还没个结果呢。(求伯君、雷军今天晚上肯定在一起喝闷酒)   BTW:文中纯粹是我的一些个人看法,毫无贬低之意。...[阅读全文]

posted @ | Feedback (11) | Filed Under [ 想法 其它 ]

摘要:如果不是Michigan大学一位研究生学生延迟毕业答辨,Photoshop或许根本就不可能被开发出来…… 请看《平面设计霸主Photoshop辉煌十三载》(http://tech.sina.com.cn/c/2003-12-31/26326.html)。真没想到Photoshop的背后还有这么一段既有趣又很值得回味的故事。...[阅读全文]

posted @ | Feedback (1) | Filed Under [ 其它 ]