private void CreateAppDomain() { var appDomainSetup = new AppDomainSetup { ApplicationBase = applicationPath, }; if (!appDomainSetup.ApplicationBase.EndsWith("\\")) { appDomainSetup.ApplicationBase += "\\"; } if (shadowCache) { // Note: disabled until https://developercommunity.visualstudio.com/content/problem/214568/when-using-loaderoptimizationmultidomain-assemblyr.html is fixed // this seems not necessary if we reuse same appdomain //appDomainSetup.LoaderOptimization = LoaderOptimization.MultiDomain; appDomainSetup.ShadowCopyFiles = "true"; appDomainSetup.ShadowCopyDirectories = applicationPath; appDomainSetup.CachePath = Path.Combine(applicationPath, CacheFolder); } // Create AppDomain appDomain = AppDomain.CreateDomain(appDomainName, AppDomain.CurrentDomain.Evidence, appDomainSetup); appDomain.SetData("RealEntryAssemblyFile", entryAssemblyPath); // Create appDomain Callback appDomainCallback = new AssemblyLoaderCallback(AssemblyLoaded, mainAssemblyPath); // Install the appDomainCallback to prepare the new app domain appDomain.DoCallBack(appDomainCallback.RegisterAssemblyLoad); }
private void CreateAppDomain() { var appDomainSetup = new AppDomainSetup { ApplicationBase = applicationPath, ShadowCopyFiles = "true", CachePath = Path.Combine(applicationPath, CacheFolder), }; // Create AppDomain appDomain = AppDomain.CreateDomain(appDomainName, AppDomain.CurrentDomain.Evidence, appDomainSetup); // Create appDomain Callback appDomainCallback = new AssemblyLoaderCallback(AssemblyLoaded, mainAssemblyPath); // Install the appDomainCallback to prepare the new app domain appDomain.DoCallBack(appDomainCallback.RegisterAssemblyLoad); }
private void CreateAppDomain() { var appDomainSetup = new AppDomainSetup { ApplicationBase = applicationPath, }; if (shadowCache) { appDomainSetup.ShadowCopyFiles = "true"; appDomainSetup.CachePath = Path.Combine(applicationPath, CacheFolder); } // Create AppDomain appDomain = AppDomain.CreateDomain(appDomainName, AppDomain.CurrentDomain.Evidence, appDomainSetup); // Create appDomain Callback appDomainCallback = new AssemblyLoaderCallback(AssemblyLoaded, mainAssemblyPath); // Install the appDomainCallback to prepare the new app domain appDomain.DoCallBack(appDomainCallback.RegisterAssemblyLoad); }