我在一个WinForms框架4.5.2和Oracle10g数据库中有一个.NET应用程序。当我使用VS 2017调试它时,这个应用程序工作得非常好,但是当我使用ClickOnce Deployment将它作为一个ClickOnce应用程序部署时,它不起作用,我一直收到以下错误。
有关错误案文如下:
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.TypeInitializationException: The type initializer for 'Oracle.DataAccess.Client.OracleCommand' threw an exception. ---> Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client
at Oracle.DataAccess.Client.OracleInit.Initialize()
at Oracle.DataAccess.Client.OracleCommand..cctor()
--- End of inner exception stack trace ---
当从bin/ repo文件夹运行It时,它也运行得非常好,如何才能使已部署的应用程序像我的repo中的本地.exe一样运行。
还有一个额外的信息,这个WPF应用程序只是一个菜单,这样它就可以运行我的其他WinForms应用程序了,即使在发布的时候,它们也运行得很好,我已经确保了所有的应用程序都是针对一个(x86)架构的,并且所有的ClickOnce设置都是一样的,都是徒劳的。
或者,我甚至可以在调试时重新创建错误,以便修复?我尝试在项目的属性中强制64位模式(因为这就是我的机器),但它甚至不加载。在ClickOnce应用程序中加载到登录页,但是在用户输入他们的凭据后建立连接时会出现混乱。
这是我的第一篇帖子,所以请自由索取更多的信息,并告诉我,如果我一直不清楚在任何时候。
谢谢您的帮助提前!
发布于 2022-04-08 15:18:41
这个问题已经解决了,但是如果其他人在这里遇到了这个问题,您必须找到并手动添加相应的DLL到您的项目中。我想,正如在其他答案中提到的,当错误说"...Client不兼容.“这也可能意味着不存在适当的文件。
https://stackoverflow.com/questions/71758330
复制相似问题