0

想使用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 = @"..\References\Npgsql.dll"; 
  GenerateModel(); 
#>
4

1 回答 1

1

很可能 T4 找不到 Npgsql.dll。当 T4 运行时,当前目录不是您的项目位置。所以你应该尝试完整路径。

另一个问题是依赖程序集。将以下内容添加到您的模板中:

System.Reflection.Assembly.LoadFile(@"...PostgreSqlLocation...\Mono.Security.dll");
于 2011-10-18T14:32:11.573 回答