C# 取消VS扩展中的解决方案关闭事件

C# 取消VS扩展中的解决方案关闭事件,c#,visual-studio-2013,visual-studio-extensions,C#,Visual Studio 2013,Visual Studio Extensions,在我试图构建的包中,我以以下方式注册“BeforeClosing”事件: DTE dte = Package.GetGlobalService(typeof(DTE)) as DTE; dte.Events.SolutionEvents.BeforeClosing += SolutionEvents_BeforeClosing; 事件处理程序如下所示: private void SolutionEvents_BeforeClosing() { //Check some stuff

在我试图构建的包中,我以以下方式注册“BeforeClosing”事件:

DTE dte = Package.GetGlobalService(typeof(DTE)) as DTE;
dte.Events.SolutionEvents.BeforeClosing += SolutionEvents_BeforeClosing;
事件处理程序如下所示:

private void SolutionEvents_BeforeClosing()
{
    //Check some stuff
    //Cancel the close operation
}

是否可以从事件处理程序中取消关闭解决方案(类似于
e.cancel=true;
)?

使用
QueryCloseSolution
解决方案事件——事件处理程序将获得对布尔变量的引用,该布尔变量必须设置为
true
,以中止当前关闭尝试