visual-studio – Visual Studio 2008宏仅适用于宏IDE,而不适用于宏资源管理器

编辑:在同一个VSMacros项目中创建新模块解决了问题.

只有从Visual Studio中打开宏IDE并从那里运行宏时,以下宏才有效.

如果我可以从Visual Studio实例中直接从宏资源管理器中单击宏,这将更有用.

我必须做一些明显错误的事情,但我以前从未使用过VS宏. MessageBox不会出现在任何一种情况下.

Option Strict Off
Option Explicit Off
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics
Imports System.Security.Principal
Imports System.Windows.Forms

Public Module AttachToSdtProcess
    Sub AttachToSdtProcess()
        Try
            'If MessageBox.Show("Attach to SDT.exe", "Caption", _
            '            MessageBoxButtons.OKCancel) = DialogResult.Cancel Then
            'Return
            'End If

            Dim dbg2 As EnvDTE80.Debugger2 = DTE.Debugger
            Dim trans As EnvDTE80.Transport = dbg2.Transports.Item("Default")
            Dim compName As String = WindowsIdentity.GetCurrent().Name
            compName = compName.Substring(0, compName.IndexOf("\"))
            Dim proc2 As EnvDTE80.Process2 = _
                    dbg2.GetProcesses(trans, compName).Item("TheExecutable.exe")
            If proc2 Is Nothing Then
                MessageBox.Show("Could not find TheExecutable.exe")
            End If
            proc2.Attach2(dbgeng)
        Catch ex As System.Exception
            MsgBox(ex.Message)
        End Try
    End Sub
End Module
最佳答案
this MSDN上的文章我想我找到了另一个可能的答案.该主题的主要建议是:

在“工具”,“选项”菜单,“加载项/宏安全性”部分中,选中“允许宏运行”复选框

转载注明原文:visual-studio – Visual Studio 2008宏仅适用于宏IDE,而不适用于宏资源管理器 - 代码日志