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 に答える