3

DD4T Tridion Tools フォルダーの TcmUploadAssembly を使用して、DD4T.Templates.dll を Tridion 2011 SP1 に再アップロードしようとしています - 必要な DLL がアップロードされていることを確認しました - DD4T.ContentModel.Contracts.dll、DD4T.ContentModel.dll、DD4T。 Templates.Base.dll - しかし、「エラー: 要求されたタイプをもう 1 つ読み込めません」というメッセージが表示され続けます。

Fusion のログを確認すると、次のバインディングの問題が見られます。

LOG: DisplayName = TcmUploadAssembly.XmlSerializers, Version=5.4.0.509, Culture=neutral, PublicKeyToken=360aac4d3354074b, processorArchitecture=MSIL
 (Fully-specified)
LOG: Appbase = file:///D:/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = TcmUploadAssembly.exe
Calling assembly : System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
===
LOG: This bind starts in default load context.
LOG: No application configuration file found.
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config.
LOG: Post-policy reference: TcmUploadAssembly.XmlSerializers, Version=5.4.0.509, Culture=neutral, PublicKeyToken=360aac4d3354074b, processorArchitecture=MSIL
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///D:/TcmUploadAssembly.XmlSerializers.DLL.
LOG: Attempting download of new URL file:///D:/TcmUploadAssembly.XmlSerializers/TcmUploadAssembly.XmlSerializers.DLL.
LOG: Attempting download of new URL file:///D:/TcmUploadAssembly.XmlSerializers.EXE.
LOG: Attempting download of new URL file:///D:/TcmUploadAssembly.XmlSerializers/TcmUploadAssembly.XmlSerializers.EXE.
LOG: All probing URLs attempted and failed.

この TcmUploadAssembly.XmlSerializers がどこから来たのか分かりませんか?

ビルドフォルダーに DD4T.ContentModel.XmlSerializers.dll がありますが、これは他のものとマージされて DD4T.Templates.merged.dll を形成しているようですが、これが何のためにあるのかわかりません。

どこから始めればよいかわからない - これは DD4T の問題ですか、それとも TcmUploadAssembly の問題ですか? (Tridion 2011 SP1 インストールの TcmUploadAssembly で同じ手順を試しましたが、新しい TcmUploadAssembly.XmlSerializers、バージョン 6.1.0.996 にもかかわらず、同じエラーが発生しました)

編集 混乱をお詫びします - DD4T アセンブリを GAC に追加しました。私の最初の投稿「必要な DLL がアップロードされていることを確認しました」は誤解を招くものでしたが、GAC にロードするつもりでした!

.NET 4 への登録に関する Mihai のポイントを確認します。これを行ったのは昨夜遅くでした。

4

2 に答える 2

5

バージョン5.4はTridion2009です。T2009のTcmUploadAssemblyを使用してもT2011では機能しないと思います。したがって、最新のTcmUploadAssembly(T2011SP1の場合はv6.1.0.966)を使用することを強くお勧めします。

テンプレートDLLを登録し、TCMサーバーのGACに登録しDD4T.ContentModel.Contracts.dllましたかDD4T.ContentModel.dllDD4T.Templates.Base.dllそれらをアップロードするだけでは十分ではありません。http://code.google.com/p/dynamic-delivery-4-tridion/wiki/40_Templatesをご覧ください。

また、エラーは.NET 2を参照しているようです。.NET4を使用してDLLを登録しましたか?

于 2012-04-04T22:57:46.287 に答える
0

推奨される方法は、https://code.google.com/p/dynamic-delivery-4-tridion/downloads/detail?name=DD4T-template-installer-1.31.zipからインストーラーをダウンロードすることです。これにより、DD4T.Templates.Merged.dll が Tridion にアップロードされます。これには、テンプレート DLL と、ILMerge によってマージされたすべての依存 DLL が含まれます。

何らかの理由で ILMerge が気に入らない場合は、次の DLL を GAC に入れることができます。

  • DD4T.ContentModel.dll
  • DD4T.ContentModel.Contracts.dll
  • DD4T.Templates.Base.dll
  • DD4T.ContentModel.XmlSerializers.dll

これらの DLL を入手するには、ソース コードをダウンロードし、Dynamic Delivery Publishing.sln ソリューションを開いてビルドします。

于 2015-03-16T15:54:10.233 に答える