我想就我面临的问题寻求帮助。我在一个网站上运行了一个很长的任务。因为处理任务需要一些时间,所以我决定改变结构。不久,现在我正在从网站调用一个 exe 并监视该过程。在我的开发环境中一切都很好。但是当我尝试在我的 prod 环境中运行 exe 时,我收到以下异常消息。我使用 System.Data.OracleClient 连接到 Oracle 数据库。
The type initializer for 'System.Data.OracleClient.OracleConnection' threw an exception.
当我从网站调用 exe 时会发生这种情况。我创建了一个 winforms 应用程序来测试 exe。如果我从我的 winforms 应用程序调用 exe(与我从网站调用的方式相同),一切正常。
我在网上搜索了异常。我发现了 2 条建议。
1-) 不同版本的 Oracle 客户端:这就是我创建测试 winforms 应用程序的原因。它运行得很好。因此,除非我遗漏了什么,否则我认为 Oracle 客户端不是问题。
2-) 32 位/64 位操作系统问题:我最初编译了针对 32 位环境的 exe。我的产品环境是 64 位的。所以我尝试编译目标 64 位,但得到了同样的异常。另外,我的 winforms 测试应用程序运行 32 位 exe 没有任何问题。我的开发环境也是 64 位的,但我没有得到例外。
任何想法将不胜感激...
编辑:我找不到类型初始化程序异常的解决方案。其实我没有时间深入研究它。所以我所做的是调用一个winforms exe并模拟它的按钮点击来调用实际的exe。我不喜欢这个解决方案,但我不得不继续前进。我不再收到OracleConnection异常。