【问题标题】:programmatically add shell32.dll as reference以编程方式添加 shell32.dll 作为参考
【发布时间】:2013-06-25 09:23:05
【问题描述】:

我指的是这个

Can I load a .NET assembly at runtime and instantiate a type knowing only the name?

尝试添加 shell32.dll 作为参考,这里是代码

    string assemblyName = "Interop.Shell32.dll";
    string assemblyPath = HttpContext.Current.Server.MapPath(assemblyName);
    Assembly assembly = Assembly.LoadFrom(assemblyPath);
    Type T = assembly.GetType("ShellClass");
    ShellClass instance = (ShellClass)Activator.CreateInstance(T);
    ShellClass sh = new ShellClass();

以上代码有错误:

找不到类型或命名空间名称“ShellClass”(您是否缺少 using 指令或程序集引用?)

也可以试试

Assembly assembly = Assembly.LoadFrom("Interop.Shell32.dll");
Type type = assembly.GetType("ShellClass");
object ShellClass = Activator.CreateInstance(type);

错误:

找不到类型或命名空间名称“ShellClass”

我不太了解如何以编程方式添加参考。以上代码有什么问题?

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    您应该在 GetType 方法中包含类的命名空间:

    assembly.GetType("Shell32.ShellClass");
    

    【讨论】:

      猜你喜欢
      • 2012-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 2018-04-26
      • 1970-01-01
      相关资源
      最近更新 更多