Add feature define for multiple appdomains.
authorRolf Bjarne Kvinge <rolf@xamarin.com>
Wed, 16 Dec 2015 18:16:31 +0000 (19:16 +0100)
committerMarek Safar <marek.safar@gmail.com>
Tue, 3 May 2016 09:42:39 +0000 (11:42 +0200)
mcs/class/referencesource/System.ServiceModel.Internals/System/Runtime/Diagnostics/DiagnosticTraceBase.cs
mcs/class/referencesource/mscorlib/system/activator.cs
mcs/class/referencesource/mscorlib/system/threading/Tasks/TaskExceptionHolder.cs

index 5089c872773064f438db9e5fcc69dcfa6105236e..f3ab701ee2f80e270d3cd02d05c6c63171eb6b75 100644 (file)
@@ -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);
             }
         }
index 758e9681363af43dc0fc484d92535586b379667a..0a1ffa93eb5fd2feba2032785873a8b1d16f6c26 100644 (file)
@@ -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)]
index 32d121d166c36fedcb3a42b36acdc0970ffca11e..8be36b654ba787220d44e9ee6c675ef79810cea8 100644 (file)
@@ -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)