[ThreadStatic]
static Dictionary<string, object> assembly_resolve_in_progress_refonly;
+#if !MOBILE
// CAS
private Evidence _evidence;
private PermissionSet _granted;
[ThreadStatic]
private static IPrincipal _principal;
+#else
+ object _evidence;
+ object _granted;
+
+ // non-CAS
+ int _principalPolicy;
+
+ [ThreadStatic]
+ static object _principal;
+#endif
+
static AppDomain default_domain;
}
}
}
- return new Evidence (_evidence); // return a copy
+ return new Evidence ((Evidence)_evidence); // return a copy
}
}
internal IPrincipal DefaultPrincipal {
get {
if (_principal == null) {
- switch (_principalPolicy) {
+ switch ((PrincipalPolicy)_principalPolicy) {
case PrincipalPolicy.UnauthenticatedPrincipal:
_principal = new GenericPrincipal (
new GenericIdentity (String.Empty, String.Empty), null);
break;
}
}
- return _principal;
+ return (IPrincipal)_principal;
}
}
// for AppDomain there is only an allowed (i.e. granted) set
// http://msdn.microsoft.com/library/en-us/cpguide/html/cpcondetermininggrantedpermissions.asp
internal PermissionSet GrantedPermissionSet {
- get { return _granted; }
+ get { return (PermissionSet)_granted; }
}
#if NET_4_0
public PermissionSet PermissionSet {
- get { return _granted ?? (_granted = new PermissionSet (PermissionState.Unrestricted)); }
+ get { return (PermissionSet)_granted ?? (PermissionSet)(_granted = new PermissionSet (PermissionState.Unrestricted)); }
}
#endif
if (IsFinalizingForUnload ())
throw new AppDomainUnloadedException ();
- PolicyStatement ps = domainPolicy.Resolve (_evidence);
+ PolicyStatement ps = domainPolicy.Resolve ((Evidence)_evidence);
_granted = ps.PermissionSet;
}
if (IsFinalizingForUnload ())
throw new AppDomainUnloadedException ();
+#if MOBILE
+ _principalPolicy = (int)policy;
+#else
_principalPolicy = policy;
+#endif
_principal = null;
}
#endif
#pragma warning disable 649
+#if !MOBILE
private AppDomainManager _domain_manager;
+#else
+ object _domain_manager;
+#endif
#pragma warning restore 649
// default is null
public AppDomainManager DomainManager {
- get { return _domain_manager; }
+ get { return (AppDomainManager)_domain_manager; }
}
#if !MOBILE
string shadow_copy_files;
bool publisher_policy;
private bool path_changed;
+#if MOBILE
+ private int loader_optimization;
+#else
private LoaderOptimization loader_optimization;
+#endif
bool disallow_binding_redirects;
bool disallow_code_downloads;
+#if MOBILE
+ object _activationArguments;
+ object domain_initializer;
+ object application_trust;
+#else
private ActivationArguments _activationArguments;
AppDomainInitializer domain_initializer;
[NonSerialized]
ApplicationTrust application_trust;
+#endif
string [] domain_initializer_args;
bool disallow_appbase_probe;
[MonoLimitation ("In Mono this is controlled by the --share-code flag")]
public LoaderOptimization LoaderOptimization {
get {
- return loader_optimization;
+ return (LoaderOptimization)loader_optimization;
}
set {
+#if MOBILE
+ loader_optimization = (int)value;
+#else
loader_optimization = value;
+#endif
}
}
public ActivationArguments ActivationArguments {
get {
if (_activationArguments != null)
- return _activationArguments;
+ return (ActivationArguments)_activationArguments;
DeserializeNonPrimitives ();
- return _activationArguments;
+ return (ActivationArguments)_activationArguments;
}
set { _activationArguments = value; }
}
public AppDomainInitializer AppDomainInitializer {
get {
if (domain_initializer != null)
- return domain_initializer;
+ return (AppDomainInitializer)domain_initializer;
DeserializeNonPrimitives ();
- return domain_initializer;
+ return (AppDomainInitializer)domain_initializer;
}
set { domain_initializer = value; }
}
public ApplicationTrust ApplicationTrust {
get {
if (application_trust != null)
- return application_trust;
+ return (ApplicationTrust)application_trust;
DeserializeNonPrimitives ();
if (application_trust == null)
application_trust = new ApplicationTrust ();
- return application_trust;
+ return (ApplicationTrust)application_trust;
}
set { application_trust = value; }
}