Visual studio 2015 Visual Studio扩展生成解决方案错误0x

Visual studio 2015 Visual Studio扩展生成解决方案错误0x,visual-studio-2015,fatal-error,visual-studio-extensions,envdte,rebuild,Visual Studio 2015,Fatal Error,Visual Studio Extensions,Envdte,Rebuild,我将此代码作为VisualStudio扩展用于清洁、构建和运行解决方案 Dim dte As DTE = Activator.CreateInstance(Type.GetTypeFromProgID("VisualStudio.DTE.14.0")) Dim sb As SolutionBuild = dte.Solution.SolutionBuild sb.Clean(True) ' here sb.Build(True) ' here too sb.Run() ' here too 但

我将此代码作为VisualStudio扩展用于清洁、构建和运行解决方案

Dim dte As DTE = Activator.CreateInstance(Type.GetTypeFromProgID("VisualStudio.DTE.14.0"))
Dim sb As SolutionBuild = dte.Solution.SolutionBuild
sb.Clean(True) ' here
sb.Build(True) ' here too
sb.Run() ' here too
但当我运行它时,它会抛出clean或build或run命令致命错误0x8000FFFF

来自HRESULT的异常:0x8000FFFF(E_意外)

堆栈跟踪是

   at EnvDTE.SolutionBuild.Clean(Boolean WaitForCleanToFinish)
   at VSIXProject1.Command1.MenuItemCallback(Object sender, EventArgs e) in D:\Projects\_VSAddins\VSIXProject1\VSIXProject1\Command1.vb:line 84
   at System.ComponentModel.Design.MenuCommand.Invoke()
   at System.ComponentModel.Design.MenuCommand.Invoke(Object arg)
   at Microsoft.VisualStudio.Shell.OleMenuCommandService.Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget.Exec(Guid& commandGroup, UInt32 nCmdId, UInt32  at Microsoft.VisualStudio.Shell.Package.Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget.Exec(Guid& guidGroup, UInt32 nCmdId, UInt32 nCmdExcept, IntPtr pIn, IntPtr vOut)

为什么??如何修理?

你从哪里打电话来的?我可以想象,如果你已经有一个构建处于活动状态,从错误的线程调用它,那么它将失败。我想创建一个自定义命令,它将调用“全部重建”,然后调用“运行”。我这样做是因为当我按下调试按钮时,VisualStudio不会调用“全部重建”,而只调用“重建”命令,VisualStudio通常会跳过生成一些项目(但我需要它)。我的想法是创建VSIX,它定义了一个新命令,该命令将调用“全部重建”,然后调用“运行”命令。我在命令的MenuItemCallback中调用它。如果您需要调用所有项目的构建,而不仅仅是F5所需的项目,那么在工具>选项下只有一个选项可以更改此行为。如果你每次都需要它来清洁,那么你真正的问题是“我如何修复我的解决方案,这样我就不必这么做?”。