1

Visual Studio 2012 で T4 ツールを使用すると問題が発生します。私の .tt ファイルには、同じソリューションに組み込まれた 64 ビット .DLL へのアセンブリ ディレクティブがあります。これは、tt ファイルのデバッグからの出力です。

エラー 308 アセンブリ参照 '$(TargetDir)\DCSGenerator.dll' の解決中に、ホストが例外をスローしました。変換は実行されません。次の例外がスローされました: System.IO.FileLoadException: 指定されたアセンブリ名またはコードベースが無効でした。(HRESULT からの例外: 0x80131047) System.Reflection.AssemblyName.nInit (RuntimeAssembly& アセンブリ、Boolean forIntrospection、Boolean raiseResolveEvent) で System.Reflection.AssemblyName..ctor(String assemblyName) で Microsoft.VisualStudio.TextTemplating.GlobalAssemblyCacheHelper.GetLocation(String) strongName) で Microsoft.VisualStudio.TextTemplating.VSHost.TextTemplatingService.ResolveAssemblyReference(String assemblyReference) で Microsoft.VisualStudio.TextTemplating.Engine で。

他の誰かがこれに問題を抱えていますか?

よろしくお願いします、

UPDATE 2012-11-14 09:17 (CET): Visual Studio したがって、T4 ジェネレーターは 32 ビット アプリケーションとして実行され、私のアセンブリは 64 ビット DLL としてビルドされます。これが問題の原因である可能性があります。

UPDATE 2012-11-14 09:43 (CET): フル パスを使用してアセンブリを参照しようとしましたが、問題は解決しませんでした。

4

1 に答える 1

0

私が疑ったように、依存関係アセンブリを でビルドすることで問題は解決しましたPlatformTarget AnyCPU。生成された DLL は、32 ビットと 64 ビットの両方のアセンブリと互換性があります。

于 2012-11-14T16:00:00.190 に答える