如何添加".Net Framework Data Provider for MySQL"配置信息到目标主机中?
来源:互联网 发布:易语言自动刷图源码 编辑:程序博客网 时间:2024/06/05 08:25
在使用Entity Framework开发数据业务系统时,使用了MySQL数据库,ADO.NET driver for MySQL使用官网http://www.mysql.com/downloads/connector/net/中下载的提供程序,在开发环境中安装该提供程序后,该安装程序将修改系统配置文件“C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config”,修改后的文件段如下:
配置节”<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient"…”是安装程序添加的,默认主机环境中没有该配置节。
当发布程序到目标主机时,没有该配置节时,应用程序将弹出异常,所以我们需要想办法修改目标主机上的配置将上面的配置节添加进去,可行的办法有一下几种:
1、在可执行程序的配置文件中添加该配置段。
此方法带来的后果是,在开发主机上调试程序变得非常不方便,因为该配置信息在系统中只能出现一次,如果配置文件加载配置是发现有两个相同段的配置(一个位于上文提到的machine.config中,一个位于你要调试的程序demo.exe.config中),程序将发生异常无法调试,有解决方法就是在调试时将该该配置段暂时注释,发布时取消注释,但是这样的反复操作太令人痛苦了,所以此方法建议不采用。
2、程序启动时修改“machine.config”配置文件,添加配置段。
此方法经验证部分可行,因为程序要修改该的配置文件存在于系统路径下,有文件保护,需要有授权才能访问并修改该文件,而授权又是相当繁琐的过程。所以此方法建议不采用。
3、在安装程序中自定义安装过程,在该过程中修改“machine.config”配置文件。
此方法屏蔽了方法2的授权过程,因为安装程序自身有权限修改任何文件,所以此方法为最佳方法。实现步骤如下,在主输出项目中添加一个继承自“Installer”类的子类,重载方法“ public override void Commit(IDictionary savedState)”,在该方法体内实现将配置节添加到“machine.config”配置文件中,然后在安装项目中自定义安装过程。
自定义安装类:
安装项目自定义过程:
- 如何添加".Net Framework Data Provider for MySQL"配置信息到目标主机中?
- Data Provider 中没有.net framework Data provider for Mysql 的解决方法
- .NET Framework Data Provider for SQL Server
- 在 .NET Framework Data Provider for Microsoft SQL Server Compact 3.5 中发生错误
- 64位系统找到到.Net Framework Data Provider方法
- CodeSmith连接mysql报.net framework data provider 没发现
- No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClie
- Oracle Data Provider for .NET
- Oracle Data Provider for .NET
- Oracle Data Provider for .NET
- Oracle Data Provider for .NET
- Internal .Net Framework Data Provider error 6
- ASP.NET使用MySQL数据库得到错误Unable to find the requested .Net Framework Data Provider
- mysql 找不到或无法加载已注册的 .Net Framework Data Provider
- c#连接mysql数据库时 找不到或无法加载已注册的 .Net Framework Data Provider
- mysql 找不到或无法加载已注册的 .Net Framework Data Provider。
- codesmith连接Mysql提示“找不到请求的 .Net Framework Data Provider。可能没有安装。"
- Npgsql - .Net Data Provider for Postgresql
- Python多级排序(多属性排序)csv文件
- x210v3开发板u-boot-2012.10移植之一---uboot版本选择
- 北外教授举报何炅吃空饷 遭悉心培养学生辱骂
- 6.5 linux
- #面经准备#RSA EMC
- 如何添加".Net Framework Data Provider for MySQL"配置信息到目标主机中?
- MRI task-base Experiment
- 关于RectTransform的一些研究
- leetcode 222: Count Complete Tree Nodes
- LeetCode 题解(97): Binary Tree Maximum Path Sum
- 丫的一个三线手机还挺火
- 天龙网游帮会玩法详解 帮会系统详细介绍
- Python中的Lambda表达式小析
- MySQL的基础操作