EnvDTE刷新文档

时间:2012-02-23 19:46:16

标签: visual-studio-2010 envdte

我在Visual Studio中有一个打开的文档。我的T4模板正在运行时,它会写入打开文档的源文件。当T4模板完成此操作时,我希望它使Visual Studio从其源代码重新加载有问题的文档。保存我想要刷新的文档后,将自动触发T4模板。

我该怎么做?我尝试过“View.Refresh”命令,但是说“不可用”。我也试过关闭并重新打开文档,但重新打开它时会出现以下异常:

Error   3   Running transformation: System.Runtime.InteropServices.COMException (0x8004000C): User canceled out of save dialog (Exception from HRESULT: 0x8004000C (OLE_E_PROMPTSAVECANCELLED))
   at EnvDTE.ProjectItem.Open(String ViewKind)

1 1

我有:

var hostServiceProvider = (IServiceProvider)Host;
EnvDTE.DTE dte = (EnvDTE.DTE)hostServiceProvider.GetService(typeof(EnvDTE.DTE));
var projectItem = dte.ActiveDocument.ProjectItem;
var activeDocument = dte.ActiveDocument;

dte.ActiveDocument.Close(EnvDTE.vsSaveChanges.vsSaveChangesNo); // vsSaveChanges value doesn't make a difference - still throws error
projectItem.Open(EnvDTE.Constants.vsViewKindPrimary);

0 个答案:

没有答案