Monthly Archives: December 2007

这两天将Asian G-WADI转换成 Cuyahoga架构的动态网站

Cuyahoga是个结构很优美的基于asp.net 2.0的CMS框架。一直想好好看一下它,这两天从它的官方svn上当下来简单研究了一下,前面想用mySql,结果好像有问题,从官方forum上有人讲目前trunk下的版本不支持mySql,于是切换到Sql server 2005 express。又发现一点小bug,比如EditSite.aspx的bindculture绑定的时候key和value反了,造成site无法保存。更正了就没有太大问题。
不过目前来看Cuyahoga的modules还相对比较少,不过好东西都是曲高和寡,用的人都比较少,有个类似的叫dnn以前看过一些,感觉比较而言,在结构上不如Cuyahoga简明。简单就是美。

VisualSVN 1.3.2

最近VisualSVN 1.3.2出来了,trial是30天试用。Reflector反汇编分析了一下代码,采用了xor和md5公私密钥双重加密,由于无法知晓密钥(公钥在VisualSVN.VS.Interface.dll的资源public里),无法制作keygen。
找了几个切入点,都不理想,后来发现更改LicenseConverter.KeyToLicense是个不错的切入点,不管什么情况都产生一个有效的License。
       License l = new License();
       l.Binding = LicenseBinding.Seat;
       l.Capacity = 999;
       l.EndTime = DateTime.Now.AddYears(2);
       l.LicensedTo = "tong";
       l.LicenseId = Guid.NewGuid();
       l.PurchaseDate = DateTime.Now.AddDays(-10);
       l.PurchaseId = "shareit:1";
       l.StartTime = DateTime.Now.AddDays(-2);
       l.Type = LicenseType.Corporate;
       l.Version = 2;
简单测试了一下可用。

这里下载

porting win console app to MONO

MONO为.net程序提供了在linux等平台下运行的可能。一个简单的win console程序也可能会出现一些问题:

  • P/I
  • path separator
  • case sensitivity

比如.net代码引用了非托管代码,而非托管代码是不能在linux下运行的。这时会出现P/Invoke的问题。我不知道如何解决,重写吧。
linux下的路径分隔符与win下不一样,建议.net下的全部写成 /,或者用 Path.SeparatorChar,否则会出现在linux下找不到文件的问题
linux下大小写敏感,所以在.net代码里也要注意文件写的大小写问题,应当严格一致。

对winform情况更为复杂,一些.net下的功能可能在MONO下还没有完全支持,所以在porting的时候应当注意这些功能。
看官方网站,目前MONO处在1.x到2.0中间的某阶段,这意味着MONO还没有完全支持2.0,一个复杂的项目从.net到mono还是需要efforts才能搞定。

钱学森过世了?

门户网站上还没有消息,BBS上已经有了,而且得到一些人的证实。钱尽管有些事情做的不合适,但真还是一个很伟大的人了。想想当初在美国拿tenure的professor,即使在现在都没有几个愿意回国的,他能毅然回家报效国家,真是太了不起。

估计是谣言,前两天还看到新华网关于钱先生96大寿的新闻。

外面好大的雪

今天下了好大的雪,住的地方门前已经积了10公分了,跟兰州的雪不一样,兰州的雪鲜有这么干净雪白的。路上车也少,开的也慢,老美好路开习惯了,下雪下雨一些人就不大敢开车出门。