您可以通过EnvironmentEvents
宏在Visual Studio的宏资源管理器改变行为:
Private Enum IDEMode
Design = 1
Break = 2
Run = 3
End Enum
Private _IDEMode As IDEMode = IDEMode.Design
Public Sub DTEDebuggerEvents_OnDebugRun() Handles _
DebuggerEvents.OnEnterRunMode
If _IDEMode = IDEMode.Design Then
DTE.ExecuteCommand("Build.RebuildSolution")
End If
_IDEMode = IDEMode.Run
End Sub
Public Sub DTEDebuggerEvents_OnDebugDesign() Handles _
DebuggerEvents.OnEnterDesignMode
_IDEMode = IDEMode.Design
End Sub
Public Sub DTEDebuggerEvents_OnDebugBreak() Handles _
DebuggerEvents.OnEnterBreakMode
_IDEMode = IDEMode.Break
End Sub
这是一个VisualStudio的变化,因此将努力在所有的解决方案一旦设置
UPDATE 以上解决方案工作,但是它有一些内容文件的缺陷,即使调试器正在运行,IDE也会转换到设计模式。它将试图建立,而调试器在某些情况下运行。正确的解决办法是这样的:
Private _curDebugState As EnvDTE80.dbgProcessState
Public Sub debuggerStateChangedHandler
(ByVal NewProcess As EnvDTE.Process,
ByVal processState As EnvDTE80.dbgProcessState)
Handles DebuggerProcessEvents.OnProcessStateChanged
If _curDebugState = dbgProcessState.dbgProcessStateStop And processState = dbgProcessState.dbgProcessStateRun Then
DTE.ExecuteCommand("Build.RebuildSolution")
End If
_curDebugState = processState
End Sub
尝试编辑自定义构建规则并将* .inc添加到其他依赖项。最终的回退是Build + Rebuild。 – 2010-03-04 04:40:24
重建是我现在使用的。有点讨厌,但我做了ctrl + r的映射,所以它非常快。我会尝试额外的依赖关系的想法,并回传它是否工作。 – Cam 2010-03-04 23:47:49
也看到这个答案 http://stackoverflow.com/questions/1334774/how-do-i-force-a-rebuild-when-the-project-configuration-changes – userSteve 2016-01-20 12:51:56