我很难为T4正确设置环境以识别Sqlite提供程序。我采取的步骤:
在.tt
中添加程序集和导入<#@ assembly name =“\ System.Data.SQLite.dll”#> <#@ import namespace =“System.Data.SQLite”#>
在tt开头,添加SQLite作为提供者之一。
//添加sqlite 尝试 { var dataSet = ConfigurationManager.GetSection(“system.data”)as System.Data.DataSet; dataSet.Tables [0] .Rows.Add(“SQLite数据提供程序”) ,“SQLite的.Net框架数据提供程序” ,“System.Data.SQLite” ,“System.Data.SQLite.SQLiteFactory,System.Data.SQLite”); } catch(System.Data.ConstraintException){}
我在SQLite中验证了DbProviderFactories中的提供者之一。
这没有让Tite加载SQLite。在正常的应用程序下,SQLite条目将添加到App.config部分。 SQLite以某种方式预加载本机DLL。我怀疑预加载是问题所在。
答案 0 :(得分:0)
经过一番挖掘,我通过安装System.Data.Sqlite解决了这个问题。安装程序将库放入GAC。上面的附加代码不是必需的。我试图避开GAC,但没有找到另一条出路。