当我在 Sharepoint 2013 上部署 asp.net 应用程序时出现异常,因为当前 AppDomain 中未启用有条件的 APTCA 程序集

When I deploy the asp.net application on Sharepoint 2013 getting the exception as conditionally APTCA assembly not enabled in current AppDomain

尝试通过安全透明方法 'Microsoft.ScriptManager.MSAjaxv45.PreApplicationStartCode.Start()' 访问安全关键方法 'System.Web.UI.ScriptManager.get_ScriptResourceMapping()' 失败。

程序集'System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 是一个有条件的 APTCA 程序集,在当前 AppDomain 中未启用。要使此程序集能够被部分信任或安全透明代码使用,请在创建 AppDomain 时将程序集名称 'System.Web.Extensions, PublicKey=0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9' 添加到 PartialTrustVisibleAssemblies 列表。

问题描述:当前网络请求执行过程中出现未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。

异常详细信息:System.MethodAccessException:尝试通过安全透明方法 'Microsoft.ScriptManager.MSAjaxv45.PreApplicationStartCode.Start()' 访问安全关键方法 'System.Web.UI.ScriptManager.get_ScriptResourceMapping()' 失败。

程序集'System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 是一个有条件的 APTCA 程序集,在当前 AppDomain 中未启用。要使此程序集能够被部分信任或安全透明代码使用,请在创建 AppDomain 时将程序集名称 'System.Web.Extensions, PublicKey=0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9' 添加到 PartialTrustVisibleAssemblies 列表。

来源错误:

在执行当前网络请求的过程中产生了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常来源和位置的信息。

堆栈跟踪:

[MethodAccessException: 尝试通过安全透明方法 'Microsoft.ScriptManager.MSAjaxv45.PreApplicationStartCode.Start()' 访问安全关键方法 'System.Web.UI.ScriptManager.get_ScriptResourceMapping()' 失败。

程序集'System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 是一个有条件的 APTCA 程序集,在当前 AppDomain 中未启用。要使此程序集能够被部分信任或安全透明代码使用,请在创建 AppDomain 时将程序集名称 'System.Web.Extensions, PublicKey=0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9' 添加到 PartialTrustVisibleAssemblies 列表。] Microsoft.ScriptManager.MSAjaxv45.PreApplicationStartCode.Start() +27

[InvalidOperationException: 预应用启动初始化方法 Start on type Microsoft.ScriptManager.MSAjaxv45.PreApplicationStartCode 抛出异常,错误信息如下:Attempt by security transparent method 'Microsoft.ScriptManager.MSAjaxv45.PreApplicationStartCode.Start()' to access安全关键方法 'System.Web.UI.ScriptManager.get_ScriptResourceMapping()' 失败。

程序集'System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 是一个有条件的 APTCA 程序集,在当前 AppDomain 中未启用。要使此程序集能够被部分信任或安全透明代码使用,请在创建 AppDomain 时将程序集名称 'System.Web.Extensions, PublicKey=0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9' 添加到 PartialTrustVisibleAssemblies 列表..] System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore(ICollection1 methods, Func1 setHostingEnvironmentCultures) +973 System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 方法)+150 System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded) +236 System.Web.Compilation.BuildManager.ExecutePreAppStart() +139 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +1005

[HttpException (0x80004005): 预应用启动初始化方法 Start on type Microsoft.ScriptManager.MSAjaxv45.PreApplicationStartCode 抛出异常,错误信息如下:Attempt by security transparent method 'Microsoft.ScriptManager.MSAjaxv45.PreApplicationStartCode.Start()' 访问安全关键方法 'System.Web.UI.ScriptManager.get_ScriptResourceMapping()' 失败。

程序集'System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 是一个有条件的 APTCA 程序集,在当前 AppDomain 中未启用。要使此程序集能够被部分信任或安全透明代码使用,请在创建 AppDomain 时将程序集名称 'System.Web.Extensions, PublicKey=0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9' 添加到 PartialTrustVisibleAssemblies 列表..] System.Web.HttpRuntime.FirstRequestInit(HttpContext 上下文) +646 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext 上下文) +159 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext 上下文) +779

我已经通过删除所有本地引用程序集解决了这个问题。并添加来自全局的程序集引用,代码中使用了这些引用。 并删除了代码中未真正使用的所有附加程序集引用。