【发布时间】:2023-03-26 09:10:02
【问题描述】:
我正在使用下面的代码创建一个 AppDomain
String pa = @"C:\Users\user\AppData\Local\Temp\2\db5fjamk.xnl";
System.IO.Directory.CreateDirectory(pa);
AppDomainSetup setup = new AppDomainSetup();
setup.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory; //f:\projectpath\out\debug-i386-unittest\UnitTests
setup.ApplicationName = string.Concat(AppDomain.CurrentDomain.FriendlyName, DateTime.UtcNow.Ticks); //UnitTestAdapter: Running test636559691791186101
setup.DynamicBase = pa;
Evidence evidence = AppDomain.CurrentDomain.Evidence;
_Domain = AppDomain.CreateDomain(setup.ApplicationName, evidence, setup);
但是 _Domain.DynamicDirectory 属性不存在。 https://msdn.microsoft.com/en-us/library/system.appdomain.dynamicdirectory(v=vs.110).aspx 明确表示使用了 AppDomainSetup.DynamicBase。
在 vstest.console.exe 中执行更改应用程序域行为的原因可能是什么。有解决办法吗?
【问题讨论】:
-
您在哪里尝试访问
_Domain.DynamicDirectory?我根本没有在你的代码中看到它。 -
我在下一行使用 _Domain.DynamicDirectory 进行操作。这会引发错误“不支持给定路径的格式。”,检查 _Domain 显示它甚至没有定义属性
-
您使用的是哪个版本的 .net?
-
.NET Framework 4.6.2
-
你将不得不慢一点。 “检查_Domain”对您没有帮助,它是一个代理。使用
var path = _Domain.DynamicDirectory;并准确告诉我们您所看到的内容。
标签: c# appdomain vstest.console.exe appdomainsetup