我使用Visual Studio 2010和.NET framework 4.0设计了一个C#应用程序 它在我的电脑上运行良好。 我使用DLL连接Oracle DB。 我为我的应用程序创建了一个安装项目来部署它,当我尝试在第二台PC上安装应用程序时,它要求我安装.NET Framework客户端,并且我已安装它。 之后,当我尝试运行我的应用程序时,它可以工作,但每次代码尝试从DLL调用一个函数时,它会引发异常:
System.IO.FileLoadException:无法加载文件或程序集'System.Data.OracleClient,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'或其中一个依赖项
我将DLL添加到安装文件中,但它无法正常工作。 我试图将此代码添加到我的配置文件中:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<qualifyAssembly partialName="System.Data.OracleClient" fullName="System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</assemblyBinding>
</runtime>
但它也没有用。请帮忙。
答案 0 :(得分:1)
我找到了以下内容: Answer 请检查第一个答案 也许这个问题是因为我在第二台PC而不是.NET4 Full框架上安装了.NET4 Client Profile
答案 1 :(得分:0)
如果您确定在第二台PC上部署了OracleClient-Dll,则问题出在“或其中一个依赖项”部分。
至少在我上次(几年前)使用Oracle客户端时,它需要从Oracle安装CD安装其他Oracle客户端Dll。那是因为.NET Dll只是一个封装器,它调用了客户端PC上部署的客户端Dlls。
BTW:我们当时的解决方案(因为我们不希望客户安装Oracle客户端)是从DataDirect购买.NET Dll。它们并不便宜,但它们在托管代码中实现了完整的数据访问,因此您只需要将一些Dll复制到应用程序文件夹中(如果需要,还可以复制到GAC中)。