如何不安装SQLite让程序可以正常使用
2013-08-14 12:38
477 查看
System.Data.SQLite.dll和System.Data.SQLite.Linq.dll不必在GAC里面,关键在于Machine.config的DBProviderFactories没有正确增加SQLite相关项,不必修改Machine.config,直接修改app.config就可以。
另外很重要的一点:configSections必须在所有配置的最前面,否则会出现“配置系统未能初始化”的异常。
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="tidcode.Data"
type="tidcode.Data.Bases.NetTiersServiceSection, tidcode.Data"
allowDefinition="MachineToApplication"
restartOnExternalChanges="true" />
</configSections>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite"/>
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.87.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
</DbProviderFactories>
</system.data>
<connectionStrings>
<add name="netTiersConnectionString" connectionString="data source=tidcode.db" />
</connectionStrings>
<tidcode.Data defaultProvider="SqlNetTiersProvider">
<providers>
<add
name="SqlNetTiersProvider"
type="tidcode.Data.GenericClient.GenericNetTiersProvider, tidcode.Data.GenericClient"
connectionStringName="netTiersConnectionString"
providerInvariantName="System.Data.SQLite"
entityFactoryType="tidcode.Entities.EntityFactory"
useEntityFactory="true"
enableEntityTracking="false"
enableMethodAuthorization="false"
useStoredProcedure="false"
/>
</providers>
</tidcode.Data>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
</configuration>
另外很重要的一点:configSections必须在所有配置的最前面,否则会出现“配置系统未能初始化”的异常。
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="tidcode.Data"
type="tidcode.Data.Bases.NetTiersServiceSection, tidcode.Data"
allowDefinition="MachineToApplication"
restartOnExternalChanges="true" />
</configSections>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite"/>
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.87.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
</DbProviderFactories>
</system.data>
<connectionStrings>
<add name="netTiersConnectionString" connectionString="data source=tidcode.db" />
</connectionStrings>
<tidcode.Data defaultProvider="SqlNetTiersProvider">
<providers>
<add
name="SqlNetTiersProvider"
type="tidcode.Data.GenericClient.GenericNetTiersProvider, tidcode.Data.GenericClient"
connectionStringName="netTiersConnectionString"
providerInvariantName="System.Data.SQLite"
entityFactoryType="tidcode.Entities.EntityFactory"
useEntityFactory="true"
enableEntityTracking="false"
enableMethodAuthorization="false"
useStoredProcedure="false"
/>
</providers>
</tidcode.Data>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
</configuration>
相关文章推荐
- 如何打包VC程序,在一个没有安装VC的电脑上也可以运行
- 如何使用McAfee禁止安装程序
- 当使用第三方程序安装APK时如何让APK只能安装到SD card,不允许安装到机器存储,并在没有SD卡时弹出警告:请插入SD卡,
- 如何使用 Visual Studio .NET 创建安装程序包
- 如何使用InstallShield8.0制作自己的安装程序
- 程序“mm”尚未安装。 您可以使用以下命令安装: apt-get install multimail
- 请注意,再次记住, centos7,fedora 24中 没有iptables服务, 而使用的firewalld, 也可以安装 iptables-services程序来实现
- 使用OpenDNS时,如何可以正常使用google的网页快照
- 使用LabVIEW如何生成应用程序(exe)和安装程序(installer)
- 安装VS2008的Win7:gacutil.exe、sn.exe 所在位置及如何使用gacutil.exe注册强命名程序集至GAC中
- 使用LabVIEW如何生成应用程序(exe)和安装程序(installer)
- 如何使用InstallShield8.0制作自己的安装程序
- 使用LabVIEW如何生成应用程序(exe)和安装程序(installer)
- Win7下如何正常安装使用AutoCAD2006心得分享
- 如何使用LabVIEW生成应用程序(exe)和安装程序(installer)
- 如何使用InstallShield8.0制作自己的安装程序
- Nokia安装J2me时候提示“授权失败”退出,而在5200可以正常使用。
- [C#]如何使用VisualStudio生成可以安装的exe文件 笔记
- Visual Studio 中使用Word、Excel等COM控件时如何配置服务器让程序正常运行?
- 偶遇问题 - - 程序图标显示异常,程序可以正常使用