我最近升级到了VS 2012。我有一组在VS 2010中编写的代码UI测试,现在我想在VS 2012中运行它们。我有一个窗体,在测试运行之初使用AssemblyInitialize属性将其显示出来。我使用这个窗体允许用户从一组值中进行选择,并使用这些值来为测试提供数据。以下是显示该窗体的代码副本:
[AssemblyInitialize]
public static void AssemblyInitialize(TestContext context)
{
ProcessUtility.TerminateAll();
if (!File.Exists(Directory.GetCurrentDirectory() + @"\RunInfo.ser"))
{
InitializeForm initForm = new InitializeForm();
initForm.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
initForm.ShowDialog();
}
}
所以,我的头疼在于:表单在运行模式下显示得很好。但是,如果我尝试在调试模式下启动它,它就永远不会显示。我已经逐步执行了代码。它正在加载所有的表单控件而没有错误。我到达了'initForm.ShowDialog()'这行代码。它运行了这行代码,但是什么也没有发生。我没有收到任何错误,IDE左下角的状态是“准备就绪”。就好像IDE认为表单已经显示出来了,但实际上并没有。我已经双重检查了任务管理器,它就是不存在。我已经验证了构建配置设置为调试。我已经尝试清理解决方案并重新构建。这段代码在VS 2010中仍然有效。请告诉我有人遇到过类似的问题,因为我已经没有想法了。我是stackoverflow的新手,请让我知道是否还有其他需要提供的信息以更好地解释这个问题。非常感谢您的关注。