VS2008 UnitTest Bug
在为使用VS2008编写的项目做单元测试时发现,在单元测试过程中AppDomain.CurrentDomain.BaseDirectory始终指向的是C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE,在VS2005下应该是指向$(SolutionDir)\TestResults\...\Out folder目录的,由于我们的程序中使用AppDomain.CurrentDomain.BaseDirectory来定位一些.config和.dll文件,因此这对我们的UnitTest造成很大的困惑,最后我们找到了一个临时的解决方案,就是在每个单元测试项目中随便找一个单元测试类中或者专门新建一个单元测试类,并在其中添加如下代码来设置AppDomain.CurrentDomain.BaseDirectory到我们想要的目录:
[AssemblyInitialize ]
public static void AssemblyInitialize(TestContext context)
{
AppDomain.CurrentDomain.SetData("APPBASE" , System.Environment.CurrentDirectory);
AppDomain.CurrentDomain.SetupInformation.PrivateBinPath = string.Empty;
}