public void DocumentStateTrackingReadonlyInRunMode() { SetupMultiProjectSolution(); var project = new ProjectUtils.Project(ProjectName); var basicLibrary = new ProjectUtils.Project("BasicLibrary1"); var cSharpLibrary = new ProjectUtils.Project("CSharpLibrary1"); VisualStudio.Editor.SetText(@" Imports System Imports BasicLibrary1 Module Module1 Sub Main() Console.Read() End Sub End Module "); VisualStudio.Workspace.WaitForAsyncOperations(FeatureAttribute.Workspace); VisualStudio.Debugger.Go(waitForBreakMode: false); VisualStudio.ActivateMainWindow(skipAttachingThreads: true); VisualStudio.SolutionExplorer.OpenFile(project, module1FileName); VisualStudio.SendKeys.Send(VirtualKey.T); string editAndContinueDialogName = "Edit and Continue"; VisualStudio.Dialog.VerifyOpen(editAndContinueDialogName); VisualStudio.Dialog.Click(editAndContinueDialogName, "OK"); VisualStudio.Dialog.VerifyClosed(editAndContinueDialogName); VisualStudio.Editor.Verify.IsProjectItemDirty(expectedValue: false); // This module is referred by the loaded module, but not used. So this will not be loaded VisualStudio.SolutionExplorer.OpenFile(basicLibrary, "Class1.vb"); VisualStudio.Workspace.WaitForAsyncOperations(FeatureAttribute.Workspace); VisualStudio.SendKeys.Send(VirtualKey.T); VisualStudio.Dialog.VerifyOpen(editAndContinueDialogName); VisualStudio.Dialog.Click(editAndContinueDialogName, "OK"); VisualStudio.Dialog.VerifyClosed(editAndContinueDialogName); VisualStudio.Editor.Verify.IsProjectItemDirty(expectedValue: false); // This module is not referred by the loaded module. this will not be loaded VisualStudio.SolutionExplorer.OpenFile(cSharpLibrary, "File1.cs"); VisualStudio.Workspace.WaitForAsyncOperations(FeatureAttribute.Workspace); VisualStudio.SendKeys.Send(VirtualKey.T); string microsoftVisualStudioDialogName = "Microsoft Visual Studio"; VisualStudio.Dialog.VerifyOpen(microsoftVisualStudioDialogName); VisualStudio.Dialog.Click(microsoftVisualStudioDialogName, "OK"); VisualStudio.Dialog.VerifyClosed(microsoftVisualStudioDialogName); VisualStudio.Editor.Verify.IsProjectItemDirty(expectedValue: false); }