Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何访问Visual Studio DTE加载项程序集_C#_Visual Studio 2010_Reflection_Envdte - Fatal编程技术网

C# 如何访问Visual Studio DTE加载项程序集

C# 如何访问Visual Studio DTE加载项程序集,c#,visual-studio-2010,reflection,envdte,C#,Visual Studio 2010,Reflection,Envdte,以下是我想做的: 创建加载Visual Studio DTE的可执行文件 加载的加载项的访问方法 下面是我的代码,大致如下所示 我遇到的问题是无法访问加载项的程序集。似乎conObjType的程序集是mscorlib-但我想访问Myaddin.dll。任何想法?任何第三方外接程序不得公开任何方法,除了实现外接程序接口(OnConnection等)所需的方法之外。它的方法可以是内部的(不是公共的),甚至可以是模糊的 如果是您的外接程序,更好的方法是外接程序提供执行操作的命令,并且给定您的外部DTE

以下是我想做的:

  • 创建加载Visual Studio DTE的可执行文件
  • 加载的加载项的访问方法
  • 下面是我的代码,大致如下所示


    我遇到的问题是无法访问加载项的程序集。似乎
    conObjType
    的程序集是mscorlib-但我想访问Myaddin.dll。任何想法?

    任何第三方外接程序不得公开任何方法,除了实现外接程序接口(OnConnection等)所需的方法之外。它的方法可以是内部的(不是公共的),甚至可以是模糊的

    如果是您的外接程序,更好的方法是外接程序提供执行操作的命令,并且给定您的外部DTE实例,您可以调用DTE.ExecuteCommand(“MyAddIn.MyCommand”)

    [STAThread]
    static void Main(string[] args)
    {
        EnvDTE80.DTE2 dte;
        object obj = null;
        System.Type t = null;
    
        MessageFilter.Register();
        // Get the ProgID for DTE 10.0.
        t = System.Type.GetTypeFromProgID("VisualStudio.DTE.10.0", true);
        obj = System.Activator.CreateInstance(t, true);
    
        var addin = GetAddInByProgID(dte, "MyAddin");
        if (addin != null)
        {
            addin.Connected = true;
            var connectObj = addin.Object;
            var conObjType = connectObj.GetType();
            var methods = conObjType.GetMethods();  // mscorlib methods
            var asm = conObjType.Assembly;  //  is mscorlib
         }
         ...
    }