相关疑难解决方法(0)

AppDomain.Load()因FileNotFoundException而失败

我正在尝试将我的插件dll加载到单独的AppDomain中,但Load()方法因FileNotFoundException而失败.而且,似乎设置AppDomainSetup的PrivateBinPath属性没有任何效果,因为在日志中我看到"Initial PrivatePath = NULL".所有插件都有很强的名字.通常,每个插件都存储在[Application startp path]\postplugins\[plugindir]中.如果我将plugins子目录放在[Application startp path]目录下,一切正常.我也试图手动更改AppBase属性但它没有改变.
这是代码:

public void LoadPostPlugins(IPluginsHost host, string pluginsDir)
    {
        _Host = host;
        var privatePath = "";
        var paths = new List<string>();
        //build PrivateBinPath
        var dirs = new DirectoryInfo(pluginsDir).GetDirectories();
        foreach (var d in dirs)
        {
            privatePath += d.FullName;
            privatePath += ";";
        }
        if (privatePath.Length > 1) privatePath = privatePath.Substring(0, privatePath.Length - 1);
        //create new domain
        var appDomainSetup = new AppDomainSetup { PrivateBinPath = privatePath };
        Evidence evidence = AppDomain.CurrentDomain.Evidence;
        var …
Run Code Online (Sandbox Code Playgroud)

c# plugins filenotfoundexception appdomain appdomainsetup

7
推荐指数
1
解决办法
9386
查看次数