【问题标题】:Dynamically loading assemblies in asp.net在 asp.net 中动态加载程序集
【发布时间】:2011-03-28 18:47:27
【问题描述】:

我目前正在尝试从 asp.net httphandler 中动态加载程序集。我有一个作为单独库的一部分构建的 dll,我的项目包含对所述 DLL 的引用,并与 CopyLocal 为 true 的服务一起部署。我创建了一个一次性对象来获取程序集路径,并且我已确认 Temporary ASP.NET Files 文件夹中存在 dll,但调用 GetTypes() 会引发异常。

我会这样做:

string assemblyPath = new SomeClassInAssembly().GetType().Assembly.Location;
Type[] types = System.Reflection.Assembly.LoadFrom(assemblyPath).GetTypes();

我无法将程序集添加到 GAC,因为这会破坏我尝试对服务执行的操作(想想在必要时加载程序集的沙盒服务),并且到目前为止我找不到任何能够解决我的问题的方法。

作为参考,我使用的是 VS 2008。

【问题讨论】:

    标签: c# asp.net assemblies dynamic


    【解决方案1】:

    由于您使用程序集的引用来编译您的 Web 应用程序,我认为您不需要使用 Assembly.LoadFrom 加载它。 GetTypes 应该可以使用:

    Type[] types = typeof(SomeClassInAssembly).Assembly.GetTypes();
    

    【讨论】:

      【解决方案2】:

      Doh,我终于连接到异常并查看了 LoaderMessage,但我缺少一个引用的程序集。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-07
        • 2017-11-16
        • 1970-01-01
        • 2016-10-24
        • 1970-01-01
        • 1970-01-01
        • 2011-12-29
        • 1970-01-01
        相关资源
        最近更新 更多