c# - 如何在我的 Web 应用程序的 bin 目录之外加载程序集

标签 c# asp.net

我想从 bin 文件夹以外的位置加载我的程序集。

我怎样才能做到这一点?

谢谢

最佳答案

注意:

我之前的回答是错误的。 Sam Holder 的假设听起来很有道理,所以我写了一些测试来证实。

认为它已确认。

要进行测试,请添加对项目或 dll 的引用并将“复制本地”设置为 false。确保你“显示所有文件”并删除 bin 目录,否则你将在那里有一个挥之不去的 dll。

Global.asax

namespace WebApplication1
{
    public class Global : System.Web.HttpApplication
    {

        protected void Application_Start(object sender, EventArgs e)
        {
            AppDomain currentDomain = AppDomain.CurrentDomain;
            currentDomain.AssemblyResolve += new ResolveEventHandler(currentDomain_AssemblyResolve);
        }

        System.Reflection.Assembly currentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
        {
            if (args.Name == "ClassLibrary1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null")
            {
                String assemblyPath = @"C:\Projects\StackOverflowAnswers\WebApplication1\ClassLibrary1\bin\Debug\ClassLibrary1.dll";
                Assembly assembly = Assembly.LoadFrom(assemblyPath);
                return assembly;
            }
            return null;

        }
.....

OP 或许应该给我投票,但 Sam 应该得到支票。

关于c# - 如何在我的 Web 应用程序的 bin 目录之外加载程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2529459/

相关文章:

c# - system.web.ui.webcontrols.textbox不包含 "lines"的定义

c# - 在线用户数和事件 session 数

javascript - Charts.Js 与 Asp.Net Webforms 不起作用

c# - 异步消息发送Asp.net

c# - ASP MVC 5 日期格式验证问题

c# - 限制 protobuf-net 继承 "tree"

c# - 字符串格式化和打印

C#:无法从记录集中检索数据

c# - 将 IQueryable<int> 转换为 <int>

c# - 从 Grid MVC 提交多行