버그 해결을 위한 모든 질문을 던져
0 votes
78 views

 

public void CreateDynamicDomain()
{
var assembly = Assembly.GetExecutingAssembly();
var codeBase = assembly.Location;
var codeBaseDic = Path.GetDirectoryName(codeBase);
var info = new AppDomainSetup()
{
    ApplicationName = domainApplicationName,
    pplicationBase = codeBaseDic,
    DynamicBase = codeBaseDic,
    ShadowCopyFiles = "true",
};

AppDomain newDomain = AppDomain.CreateDomain(newName, null, info);

assemblyLoader = (AssemblyLoader)dynamicDomain.CreateInstanceAndUnwrap(assembly.FullName, AssemblyLoader typeof(AssemblyLoader).FullName);

...
}

public class AssemblyLoader : MarshalByRefObject
{
     public override object InitializeLifetimeService()
     {
            return null;
     }
     ...
}

 

새도메인을 생성후 Assembly-CSharp.dll 을 CreateInstanceAndUnwrap이것을 이용해 새도메인을 구성했습니다.

이렇게 하니 Assembly-CSharp.dll 여기에 참조된 모드 dll 들이 로드가 되어지는데 저는 여기에 참조되어져 있는 특정한 dll하나를 다른 버젼의 dll파일로 로드하고 싶습니다.(다른버젼파일이란 같은 namespace를 가졌지만 내부로직이 약간 수정된dll들을 말합니다.)

asked (18 point) , 78 views

질문에 대한 답변을 하려면 로그인 또는 가입해야합니다.

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

507 질문
656 answers
643 댓글
118,128 users