현재 응용 프로그램 도메인 기본 폴더가 아닌 폴더에서 어셈블리를로드하려고합니다. 로드하려는 어셈블리 중 일부는 이미 기본 버전의 응용 프로그램 도메인에 이전 버전으로로드되어 있습니다. 이것을 실행하기 위해 다음 코드를 발견했습니다. 새로운로드 어셈블리 폴더 C : \ 종피 \이미로드 된 모든 참조가있는 어셈블리로드
코드의 저자는 내가 찾을 수 없음 파일이나 의존성을 얻을 언급 한 바와 같이class Program
{
static void Main(string[] args)
{
AppDomainSetup domaininfo = new AppDomainSetup();
domaininfo.ApplicationBase = @"c:\testa\";
Evidence adevidence = AppDomain.CurrentDomain.Evidence;
AppDomain domain = AppDomain.CreateDomain("MyDomain", adevidence, domaininfo);
Type type = typeof(Proxy);
var value = (Proxy)domain.CreateInstanceAndUnwrap(
type.Assembly.FullName,
type.FullName);
var assembly = value.GetAssembly(args[0]);
// AppDomain.Unload(domain);
}
}
public class Proxy : MarshalByRefObject
{
public Assembly GetAssembly(string assemblyPath)
{
try
{
return Assembly.LoadFile(assemblyPath);
}
catch (Exception)
{
return null;
// throw new InvalidOperationException(ex);
}
}
}
How to Load an Assembly to AppDomain with all references recursively?
. 어떻게이 문제를 처리 할 수 있을까요? 어떤 생각?
나는 리졸버를 테스트했다. 하지만 제 경우에는 해고되지 않았습니다. – Michael