appdomain相关内容
我在西欧和标准模式下设置了一个 azure 网站.今天突然在 2014 年 1 月 30 日凌晨 03:00 UTC 它开始不断重启应用程序池.ShutdownReason 是 HostingEnvironment.我在 eventlog.xml 中有很多这样的事件: 22993
..
..
我正在编写一个小型插件库,它使用应用程序域来隔离使用 .Net 框架 4.0 的插件.因此,每个插件中的代码都超出了我的控制范围.当其中一个插件引发未处理的异常时,我观察到结果好坏参半.它们如下. 当插件的主线程中抛出未处理的异常时,调用插件的执行方法的主可插入应用程序能够捕获并干净地处理它.那里没有问题.然而, 如果插件在插件的 Execute 方法中为基于 WinForms 的应用
..
微软选择在 .NET Core 中不支持 AppDomains 是否有充分的理由? AppDomains 在构建长时间运行的服务器应用程序时特别有用,我们可能希望在不关闭服务器的情况下以一种优雅的方式更新服务器加载的程序集. 如果没有 AppDomains,我们将如何在长时间运行的服务器进程中替换我们的程序集? AppDomains 还为我们提供了一种隔离服务器代码不同部分的方法
..
我需要在另一个域中加载 .dll(插件).在主应用程序中,我对插件类型一无所知,只知道它们使用某些方法实现了通用接口 ICommonInterface.所以这段代码无济于事,因为我无法创建具有接口类型的实例. AppDomain domain = AppDomain.CreateDomain("新域名");//对域做其他事情,比如设置安全策略string pathToDll = @"C:\myD
..
好的...我有一个 WPF 应用程序(我们称之为 Launcher.exe),它加载并执行另一个 WPF 应用程序(我们称之为 Loaded.exe)动态使用这样的东西: Byte[] assemblyData;使用 (BinaryReader reader = new BinaryReader(new FileStream(filePath, FileMode.Open)))assemblyD
..
我正在尝试使用插件制作应用程序. 我有 MainLib.dll,在那里我用 1 个方法制作了一些通用接口(让它成为 ICommon).然后,我制作了 2 个 .dll(插件),它们引用了 MainLib.dll 并在某些类中实现了 ICommon.此外,我删除了此 .dll 中的所有引用,除了 System. 然后,我创建了一个应用程序,它监视文件夹".\\Plugins" 并加载ne
..
我的目标是创建一个可执行文件来启动影子复制应用程序.诀窍是,我希望这个启动程序没有外部依赖项,并且不必包含有关它必须启动的程序的任何知识. 我还希望它成为目录中唯一的可执行文件.换句话说,我希望它“运行"一个 .dll 程序集而不是一个 .exe 程序集.(我可以要求加载到新 AppDomain 中的 .dll 文件的名称每次都相同,例如 Main.dll 或类似内容.) 看起来 Ap
..
我想创建一个具有默认权限的应用程序域并以默认权限将程序集加载到应用程序域中并执行程序集内的方法. 解决方案 您可以查看 MSDN 上的以下文章.或者,如果您想在另一个 AppDomain 中构造某个类型的实例(假设该类型具有默认构造函数): var domain = AppDomain.CreateDomain("NewAppDomain");var path = @"C:\work\S
..
A) 动态编译 C# EXE 和 DLL 相对容易. B) 执行一个 EXE 意味着运行一个新的应用程序.加载 DLL 意味着可以在应用程序或项目之间共享的情况下使用方法和函数. 现在,可以从 MSDN 或为了您的方便: private bool CompileCSharpCode(string script){lvErrors.Items.Clear();尝试{CSharpCode
..
我在 C# 方面有经验,但对 AppDomain 等概念相对不熟悉.无论如何,我试图让一个程序集在仅反射的上下文中加载,以便我可以获取其所有名称空间.这是我现在拥有的代码(警告:PowerShell): function Get-Namespaces($assembly){$assemblyClass = [Reflection.Assembly]$winmdClass = [Runtime.I
..
微软选择在 .NET Core 中不支持 AppDomains 是否有充分的理由? AppDomains 在构建长时间运行的服务器应用程序时特别有用,我们可能希望在不关闭服务器的情况下以一种优雅的方式更新服务器加载的程序集. 如果没有 AppDomains,我们将如何在长时间运行的服务器进程中替换我们的程序集? AppDomains 还为我们提供了一种隔离服务器代码不同部分的方法
..
我有一个项目正在进行,它使用来自 ERP 系统的 DLL.DLL 用于从 ERP 获取信息,如发票等.我得到的错误是: 内部异常 1:FileNotFoundException:无法加载文件或程序集 'SnelStartGatewayInterface,版本 = 12.48.37.0,Culture=neutral, PublicKeyToken=null' 或其依赖项之一.这系统找不到指定
..
这不是重复的 - 我已经回顾了这个相关的 StackOverflow 问题,但没有运气:如何将所有引用递归地加载到 AppDomain 中? 我有两个控制台应用程序.AssemblyLoaderTest.exe 和 testapp.exe 我正在尝试使用 AssemblyLoaderTest.exe 动态加载 testapp.exe 并从 testapp.exe 中的类调用方法 到目
..
我有一个应用程序,我需要在其中创建 AppDomain 并将程序集加载到其中并执行程序集中的方法. 这是我的代码 公共类 CreateAppDomain{公共无效 CreateAppDom(){AppDomain 域 = AppDomain.CreateDomain("myDomain");domain.ExecuteAssembly(@"C:\Visual Studio 2005\Pro
..
似乎 .NET AppDomain.AssemblyLoad 事件会捕获其事件处理程序中抛出的任何异常,而不是将它们传播给触发程序集加载的调用者(例如 Assembly.LoadFile()). 我的第一个问题是为什么这会捕获所有异常行为?Microsoft 通常非常严格地确保异常始终在其 BCL 中传播. 我的第二个问题,有没有办法关闭这种行为? 背景:我需要在加载程序集时对其
..
我有这样一种情况,AppDomain.CurrentDomain.AssemblyResolve 被调用用于已使用 Assembly.Load(myAssemblyMemStream.ToArray())Assembly.Load(myAssemblyMemStream.ToArray()) 加载到当前域的程序集代码>. 这是为什么? 我需要执行以下操作才能使其正常工作.这与 .NET
..
所以我的问题围绕着节省内存. 本质上,我需要将程序集加载到主/当前域以外的单独应用程序域中,检查该程序集中的类型,然后在完成后卸载新域. 目前我的解决方案如下: AppDomain NewDomain = AppDomain.CreateDomain("newdomain");foreach(dllPaths中的字符串路径)//dll路径的字符串列表{byte[] dllBytes
..
我正在尝试执行以下操作: 下载包含我需要执行的程序集的字节数组. 在新的应用程序域中从此程序集中加载一个对象并在该对象上执行方法 这是我尝试将程序集加载到新应用程序域中的代码: 公共对象 Execute(byte[] agentCode){var app = AppDomain.CreateDomain("MonitoringProxy", AppDomain.CurrentDo
..
在我们的应用程序(具有 65 个项目的解决方案)中,所有引用的程序集都会在运行时分析 Ninject 模块的存在(也应用了一些过滤).这些模块稍后加载到 Ninject 内核中,每个模块都为内核声明绑定. 我们采用了一个加载器,它以仅反射模式将引用的程序集加载到单独的程序集中.与 Ninject 从目录加载程序集的方式不同的是,该目录可以包含带有不应加载的模块的程序集.而且在一开始,并不是所
..