上次在评分类库解决方案临时添加了一个命令行项目测试类库功能是否正常,但是测试方法很笨拙,把类库里的代码复制到命令行项目然后手动设置一些测试数据,再调用对应的方法。这种方法是在是欠缺灵活性,浪费很多时间。之前测试功能是在另一个解决方案中引用生成的类库dll文件,然后调用对应的方法。这种方法虽然不用复制代码,但是灵活度也不高,调试和修改代码比较麻烦,修改类库代码后要先重新编译,然后再编译测试代码的解决方案。
早上突然想到,应该把两者合起来,效率会高很多。在同一个解决方案里把类库项目直接“导入”命令行项目,这样省去复制代码的麻烦,调试起来也不用分别编译,直接一起编译。一查,VS已经有现成的功能。直接在命令行项目中选择添加“引用”,选择“项目”,然后把选择类库项目,这样就搞定了。这里还要注意,命令行项目中不要忘记添加对应的using 语句,以及类库中类的访问控制权限。另外,项目的配置选项也要注意。一开始我添加完毕后,类库中对应类的访问控制权限设置为public,using语句也添加了,编译没有问题。但是一运行,就报错。
这个问题让我有点懵,想来想去也不知道是哪出来问题。后来查了一下项目配置才发现,类库设置的目标平台是X86,但是命令行项目设置的目标平台是Any CPU,结果就报错了。把命令行项目的目标平台也设置成X86就可以了。