我们在新建立的服务器上部署了C#组件。我们已经使用现有服务器检查了machine.config和web.config文件。此外,MySQL的DB提供程序工厂包含在machine.config文件中。我们在运行C#组件时仍然遇到异常。 例外情况是: 未处理的异常:System.ArgumentException:无法找到请求的.Net 框架数据提供者。它可能没有安装。 我们是否需要在machine.config中进行更改后重新启动服务器?
对此有任何帮助,将不胜感激!
答案 0 :(得分:0)
\ Windows \ Microsoft.net \ Framework \ vXXXX \ Config目录中有多个machine.config文件。看一下v2和v4 machine.config文件。总共应该有四个文件可供查看。检查以下内容:
可能有额外的标签正在发生这种情况。检查这些文件中的任何EXTRA,自终止标记。打开并比较所有这些。它看起来像这样,很容易错过:
<system.data>
<DbProviderFactories>
<add name="Odbc Data Provider" invariant="System.Data.Odbc" ... />
<add name="OleDb Data Provider" invariant="System.Data.OleDb" ... />
<add name="OracleClient Data Provider" invariant="System.Data ... />
<add name="SqlClient Data Provider" invariant="System.Data ... />
</DbProviderFactories>
<DbProviderFactories/>
<system.data>
注意SELF CLOSING标记。通过将最后一项保留在最后一项之后清除它并在结尾处删除自关闭项。在此示例中:
<system.data>
<DbProviderFactories>
<add name="Odbc Data Provider" invariant="System.Data.Odbc" ... />
<add name="OleDb Data Provider" invariant="System.Data.OleDb" ... />
<add name="OracleClient Data Provider" invariant="System.Data ... />
<add name="SqlClient Data Provider" invariant="System.Data ... />
</DbProviderFactories>
<system.data>
确保然后重新启动,离开并返回它应该可以工作......
希望这有帮助。