C# 无法加载文件或程序集';Oracle.DataAccess';
我有一台Windows Server 2008 x64计算机,并已使用ODAC 11g客户端成功地将一个简单的ASP.NET/C应用程序连接到Oracle数据库。我的下一步是将同一个oracle连接添加到SharePoint web部件(在同一台计算机上开发)。SharePoint服务器、Web服务器等也都位于同一台计算机上。我想我可以将Oracle.DataAccess引用添加到我的SharePoint Web部件,添加Oracle连接代码,然后完成。。。但是现在。。。使用oracle连接通过浏览器加载web部件时,我遇到以下错误: [BadImageFormatException:无法加载文件或程序集'Oracle.DataAccess,版本=2.112.1.1,区域性=neutral,PublicKeyToken=89b483f429c47342'或其依赖项之一。试图加载格式不正确的程序。] 有人能帮我调试一下吗?我在GAC中有正确版本的程序集。出于某种原因,它没有看到它?我不明白为什么一个简单的ASP.NET/C应用程序可以很好地工作,但现在它已经在SharePoint上运行了,它就不能工作了。有什么想法吗 特定错误: [TargetInvocationException:调用的目标已引发异常。] 在System.RuntimeTypeHandle.CreateInstance(RuntimeType类型、Boolean publicOnly、Boolean noCheck、Boolean&canBeCached、RuntimeMethodHandle&ctor、Boolean&bNeedSecurityCheck) 位于System.RuntimeType.CreateInstanceSlow(布尔publicOnly,布尔fillCache) 位于System.RuntimeType.CreateInstanceImpl(布尔publicOnly、布尔skipVisibilityChecks、布尔fillCache) 位于System.Activator.CreateInstance(类型,布尔非公共) 位于Microsoft.SharePoint.WebPartPages.SPWebPartReflectionHelper.GetDefaultControl(类型controlType) 在Microsoft.SharePoint.WebPartPages.BinaryWebPartDeserializer.LoadInitialWebPart()中 在Microsoft.SharePoint.WebPartPages.BinaryWebPartDeserializer.Deserialize()中 位于Microsoft.SharePoint.WebPartPages.SPWebPartManager.CreateWebPartsFromRowSetData(仅布尔值初始化ClosedWebParts) [BadImageFormatException:无法加载文件或程序集'Oracle.DataAccess,版本=2.112.1.1,区域性=neutral,PublicKeyToken=89b483f429c47342'或其依赖项之一。试图加载格式不正确的程序。]C# 无法加载文件或程序集';Oracle.DataAccess';,c#,asp.net,sharepoint,C#,Asp.net,Sharepoint,我有一台Windows Server 2008 x64计算机,并已使用ODAC 11g客户端成功地将一个简单的ASP.NET/C应用程序连接到Oracle数据库。我的下一步是将同一个oracle连接添加到SharePoint web部件(在同一台计算机上开发)。SharePoint服务器、Web服务器等也都位于同一台计算机上。我想我可以将Oracle.DataAccess引用添加到我的SharePoint Web部件,添加Oracle连接代码,然后完成。。。但是现在。。。使用oracle连接通过
在PortalOBIEEReportList.obiereportlist.obiereportlist..ctor()中,您可能需要在SharePoint应用程序的Web.Config文件中输入oracle数据访问dll的安全控制设置。安全控制设置明确标识SharePoint运行时允许加载的DLL 格式是
<SafeControl Assembly="DLLName, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
Namespace="DLLNameSpace"
TypeName="*"
Safe="True"
AllowRemoteDesigner="True" />
关于添加安全控件
我用来帮助确定程序集名称的工具是,您可能需要在SharePoint应用程序的Web.Config文件中为oracle Data Access dll输入安全控制设置。安全控制设置明确标识SharePoint运行时允许加载的DLL 格式是
<SafeControl Assembly="DLLName, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
Namespace="DLLNameSpace"
TypeName="*"
Safe="True"
AllowRemoteDesigner="True" />
关于添加安全控件
我用来帮助确定程序集名称的工具是生成平台目标必须是“任意CPU”或x64。生成平台目标必须是“任意CPU”或x64。是否在同一台机器上安装了oracle 10g?否,oracle 11g安装在同一台机器上。。。我也在运行ODAC 11g客户端。我只是感到困惑,因为我的非SharePoint ASP.Net/C应用程序连接得很好。这似乎是一个32位vs 64位的问题,但一切都是11g/64位。我甚至尝试在vs项目中将平台设置为x64,但没有成功。您是否在同一台机器上安装了oracle 10g?不,oracle 11g安装在同一台机器上。。。我也在运行ODAC 11g客户端。我只是感到困惑,因为我的非SharePoint ASP.Net/C应用程序连接得很好。这里似乎是32位vs 64位的问题,但一切都是11g/64位。我甚至在vs项目中尝试将平台设置为x64,但没有成功。