Subsonic 得到亚音速编译错误
我使用VisualStudio2010并尝试使用亚音速,我得到以下错误 编译转换时出现错误2:找不到元数据文件“MySql.Data”\D:\TradingTools\CODE\ConsoleApplication8\subnicComponents\Structs.tt 1 1 backtester 正如您从屏幕截图中看到的,我的引用中确实有mysql.data。我不知道如何解决这个问题。你能帮我解决这个问题吗。Subsonic 得到亚音速编译错误,subsonic,Subsonic,我使用VisualStudio2010并尝试使用亚音速,我得到以下错误 编译转换时出现错误2:找不到元数据文件“MySql.Data”\D:\TradingTools\CODE\ConsoleApplication8\subnicComponents\Structs.tt 1 1 backtester 正如您从屏幕截图中看到的,我的引用中确实有mysql.data。我不知道如何解决这个问题。你能帮我解决这个问题吗。 亚音速使用DbProviderFactory模式。 DbProviderFact
亚音速使用DbProviderFactory模式。 DbProviderFactory方法允许创建连接/命令/。。。不知道具体的类型
// without factory
var con = new MySqlConnection();
var cmd = new MySqlCommand();
// with factory
var factory = DbProviderFactories.GetFactory("MySql.Data.MySqlClient");
var con = factory.CreateConnection();
var cmd = factory.CreateCommand();
这是一种更通用的方法
但是,为了使其工作,您必须安装MySql.Data(msi包),它在machine.config
文件中创建一些条目
也就是说
我还希望我的构建环境不依赖于已安装的软件,这使得切换到新机器而无需安装多个依赖项更加容易
但这需要一些工作:
修改app.config/web.config文件,并将其放置在
和
通过这些更改,我的解决方案可以运行find,而模板生成也可以在没有安装任何MySql组件的干净安装上运行find
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient"/>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient"
description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.4.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
%windir%\Microsoft.NET\Framework\<version>\Config
<#@ include file="Settings.ttinclude" #>
<#@ assembly name="$(SolutionDir)\Dependencies\MySql.Data.dll" #>
<#@ import namespace="MySql.Data.MySqlClient" #>
<#+