无法加载 DLL gdiplus.dll 的问题解决方法-asp.net
asp.net系统部署在服务器上(我发现居然是预编译的,估计程序员偷懒了)
提示: Gdiplus.dll无法加载,百度了下,老问题了,结果过了几年都没有法子解决吗?
服务器已经打了这个补丁,部署了一个.net系统,结果就提示:
======
无法加载 DLL“gdiplus.dll”: 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.DllNotFoundException: 无法加载 DLL“gdiplus.dll”: 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))。
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[DllNotFoundException: 无法加载 DLL“gdiplus.dll”: 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))。]
System.Drawing.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output) +0
System.Drawing.Gdip.Initialize() +108
System.Drawing.Gdip..cctor() +154
[TypeInitializationException: “Gdip”的类型初始值设定项引发异常。]
System.Drawing.Gdip.GdipCreateBitmapFromStream(IStream stream, IntPtr& bitmap) +0
System.Drawing.Bitmap..ctor(Stream stream) +81
System.Drawing.ToolboxBitmapAttribute..cctor() +179
[TypeInitializationException: “System.Drawing.ToolboxBitmapAttribute”的类型初始值设定项引发异常。]
System.Reflection.CustomAttribute._CreateCaObject(Void* pModule, Void* pCtor, Byte** ppBlob, Byte* pEndBlob, Int32* pcNamedArgs) +0
System.Reflection.CustomAttribute.CreateCaObject(Module module, RuntimeMethodHandle ctor, IntPtr& blob, IntPtr blobEnd, Int32& namedArgs) +63
System.Reflection.CustomAttribute.GetCustomAttributes(Module decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes) +604
System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeType type, RuntimeType caType, Boolean inherit) +129
System.RuntimeType.GetCustomAttributes(Type attributeType, Boolean inherit) +65
System.ComponentModel.ReflectTypeDescriptionProvider.ReflectGetAttributes(Type type) +133
System.ComponentModel.ReflectedTypeData.GetAttributes() +38
System.ComponentModel.DefaultTypeDescriptor.System.ComponentModel.ICustomTypeDescriptor.GetAttributes() +58
System.ComponentModel.TypeDescriptor.GetAttributes(Type componentType) +32
System.Web.UI.ThemeableAttribute.IsTypeThemeable(Type type) +105
System.Web.UI.Control.ApplySkin(Page page) +53
System.Web.UI.Control.InitRecursive(Control namingContainer) +8680810
System.Web.UI.Control.InitRecursive(Control namingContainer) +210
System.Web.UI.Control.InitRecursive(Control namingContainer) +210
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +378
======
网上搜了,说卸载 补丁KB958869 就好(服务器补丁也卸载啊,结果发现系统提示无法删除次更新)
网上还有人说重新安装.net这也太折腾了,就没有更好的方法了吗
说修改dcom的,请具体说明。
这里我自己搞定了,出问题的web系统是IIS的预编译系统,我改成web应用程序,重新编译生成网站后ok
我觉得肯定也有人通过其他简单的方式解决了,但是他们就是没有告诉大家,哈。我小小自得下。