فهرست منبع

Add feature define for multiple appdomains.

Rolf Bjarne Kvinge 10 سال پیش
والد
کامیت
a8bd1c9197

+ 2 - 0
mcs/class/referencesource/System.ServiceModel.Internals/System/Runtime/Diagnostics/DiagnosticTraceBase.cs

@@ -309,7 +309,9 @@ namespace System.Runtime.Diagnostics
             {
                 currentDomain.UnhandledException += new UnhandledExceptionEventHandler(UnhandledExceptionHandler);
                 this.SetLevel(this.TraceSource.Switch.Level);
+#if MONO_FEATURE_MULTIPLE_APPDOMAINS
                 currentDomain.DomainUnload += new EventHandler(ExitOrUnloadEventHandler);
+#endif
                 currentDomain.ProcessExit += new EventHandler(ExitOrUnloadEventHandler);
             }
         }

+ 12 - 0
mcs/class/referencesource/mscorlib/system/activator.cs

@@ -611,6 +611,7 @@ namespace System {
 #if FEATURE_COMINTEROP || MONO_COM || MOBILE_LEGACY
 
 #if FEATURE_CLICKONCE || MOBILE_LEGACY
+#if FEATURE_CLICKONCE || MONO_FEATURE_MULTIPLE_APPDOMAINS
         [System.Security.SecuritySafeCritical]  // auto-generated
         public static ObjectHandle CreateInstance (ActivationContext activationContext) {
             AppDomainManager domainManager = AppDomain.CurrentDomain.DomainManager;
@@ -628,6 +629,17 @@ namespace System {
 
             return domainManager.ApplicationActivator.CreateInstance(activationContext, activationCustomData);
         }
+#else
+        [Obsolete ("Activator.CreateInstance (ActivationContext) is not supported on this platform.", true)]
+        public static ObjectHandle CreateInstance (ActivationContext activationContext) {
+            throw new PlatformNotSupportedException ("Activator.CreateInstance (ActivationContext) is not supported on this platform.");
+        }
+
+        [Obsolete ("Activator.CreateInstance (ActivationContext, string[]) is not supported on this platform.", true)]
+        public static ObjectHandle CreateInstance (ActivationContext activationContext, string[] activationCustomData) {
+            throw new PlatformNotSupportedException ("Activator.CreateInstance (ActivationContext) is not supported on this platform.");
+        }
+#endif
 #endif // FEATURE_CLICKONCE
 
         [ResourceExposure(ResourceScope.Machine)]

+ 2 - 0
mcs/class/referencesource/mscorlib/system/threading/Tasks/TaskExceptionHolder.cs

@@ -77,6 +77,7 @@ namespace System.Threading.Tasks
 
         private static void EnsureADUnloadCallbackRegistered()
         {
+#if MONO_FEATURE_MULTIPLE_APPDOMAINS
             if (s_adUnloadEventHandler == null && 
                 Interlocked.CompareExchange( ref s_adUnloadEventHandler,
                                              AppDomainUnloadCallback, 
@@ -84,6 +85,7 @@ namespace System.Threading.Tasks
             {
                 AppDomain.CurrentDomain.DomainUnload += s_adUnloadEventHandler;
             }
+#endif
         }
 
         private static void AppDomainUnloadCallback(object sender, EventArgs e)