appdomain - 应用程序域之间的独立工作目录

标签 appdomain working-directory

我有一个 .NET 应用程序,它创建多个单独的 AppDomain 来运行一些可插入代码,每个 AppDomain 都设置自己的 WCF 命名管道服务来与中央应用程序进行通信。

但是我想为每个应用程序域设置不同的工作目录,以便每个应用程序域中任何相对路径的基本文件夹都不同。因此,这些插件可以通过“./MyCustomFolder”以所有正常的文件处理方式创建自己的文件夹结构。

不幸的是,我发现 Directory.SetWorkingDirectory() 正在为整个过程设置它(不隔离到单个应用程序域),这导致一些插件写入其他插件目录。

是否可以更改不同 AppDomain 的工作目录,或者我是否需要启动全新的流程来完成我想要的操作?如果我需要整个流程来完成我之后要做的事情,您对尝试以稳定的方式有效管理父/子流程有何看法?

最佳答案

CurrentDirectory(或WorkingDirectory)是每个进程的。

但是,您可以在创建应用程序域时设置程序集探测路径。看AppDomainSetup类。

关于appdomain - 应用程序域之间的独立工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4744106/

相关文章:

concurrency - Julia 语言 - @async tasks::Current-Directory 中的状态

.net - 如何创建受限制的 AppDomain?

nunit - AppDomain 中的冒号导致 log4net.Util.PatternString 出现问题

java - 执行批处理文件错误 : "Could not find or load main class"

visual-studio-2005 - 可以在工程(.vcproj)文件中设置工作目录吗?

mysql - 如何在 mysql 命令行工具中更改目录?

.net - 为整个应用程序域定义文化

c# - 如何跨 AppDomain 将引用作为方法参数传递?

c# - Assembly.CreateInstance 返回 null,即使我可以在 DefinedTypes 中看到该类

windows - Windows 中当前目录和工作目录的区别