我想用bltoolkit, T4模板和postgreSQL生成我的数据层。我收到一个运行T4模板的异常,基于文档中建议的异常:
Error 5 Running transformation: System.ArgumentNullException: Value cannot be null.
Parameter name: type, at System.Activator.CreateInstance(Type type, Boolean nonPublic)
(...)
在VSNET08中工作,引用所有库,连接到mssql工作正常,起初,一切似乎都是正确的,但我留下了一些东西…
这是我的。tt模板:<#@ template language="C#v3.5" hostspecific="True" #>
<#@ output extension=".generated.cs" #>
<#@ include file="BLToolkit.ttinclude" #>
<#@ include file="PostgreSQL.ttinclude" #>
<#@ include file="PluralSingular.ttinclude" #>
<#
ConnectionString = "<connection string to postgresql database";
DataProviderAssembly = @"..ReferencesNpgsql.dll";
GenerateModel();
#>
很可能T4找不到Npgsql.dll。当T4运行时,当前目录不是您的项目位置。所以你应该试试全路径。
另一个问题是依赖程序集。将以下内容添加到模板中:
System.Reflection.Assembly.LoadFile(@"...PostgreSqlLocation...Mono.Security.dll");