Yuan Yijun (bbbush) wrote,
Yuan Yijun
bbbush

笔误

用 AppDomain,折腾了一下午加一早晨都载不进来东西,搜了半天才发现所用的函数名字不对。两个函数,CreateInstanceAndUnwrap 和 CreateInstanceFromAndUnwrap 长得实在是太像了,vs2008 提示了后一个。像 CreateInstance 和 CreateInstanceFrom,Load 和 LoadFrom 这样的成对的函数,参数名分别是 assemblyName 和 assemblyFile,所以不会出错。可是自己为什么没有想到 CreateInstanceAndUnwrap 也是成对的呢,如果想到了,自然就会发现用错了呀。

这几天做的事情,是在另外的程序里调用之前写的程序。之前写的程序是没有单元测试的一大坨,大致拆分了模块而已。在新的程序里一调用,马上暴露了问题。如果有足够的时间改进,那就可以加单元测试,做到一定程度的覆盖,可是现在只能一点点改进了。

单例越少越好。之前一直在用 Application.Current 作为 IServiceProvider,另外它还有 TryGetResource 方法可以用来协调资源。可是测试程序并没有这个对象。Dispatcher 大约还得自己启动一个。

关于路径,至少需要 AppDir,多个应用程序共享的 BaseDir 以及当前程序自己的 BaseDir。像 AppDir 这样的东西尽量少用。不同模块可能需要保存一份 BaseDir 设置,但是不要试图去解析它,整个应用程序只解析一次才对。在新的 AppDomain 里没有 EntryAssembly。

哎,都是细枝末节。

edit: 关键是第一步,谁TMD决定要用AppDomain的?谁TMD当初要那么存东西的,还不是。。
Tags: 工作
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments