2012-04-04 12 views
3

DD4T Tridion ToolsフォルダのTcmUploadAssemblyを使用してTridion 2011 SP1にDD4T.Templates.dllを再アップロードしようとしています。 DLLはアップロードされます - DD4T.ContentModel.Contracts.dll、DD4T.ContentModel.dll、DD4T.Templates.Base.dll - しかし、私は "エラー:要求されたタイプのもう一つを読み込むことができません"を取得し続けます。このTcmUploadAssembly.XmlSerializersから来エラーTcmUploadAssemblyを使用してDD4T.Templates.dllをアップロードするときに「要求されたタイプをロードできません」

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. 

ないアイデア:

フュージョンログの確認、私は以下の結合の問題を見ることができますか?

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

どこから開始するのかわかりません - これはDD4Tの問題かTcmUploadAssemblyの問題ですか? (私はSP1をインストールしますが、新しいTcmUploadAssembly.XmlSerializersのためとはいえ、同じエラーを得た、バージョン6.1.0.996 Tridionの2011年にTcmUploadAssemblyと同じ手順を試してみました)

編集が混乱のため 謝罪 - 私はDD4TアセンブリをGACに追加しました。私の元の投稿 "私は必要なDLLがアップロードされたことを確認しました"は誤解を招いていましたが、私はGACにロードされたことを意味しました!

.NET 4に登録するというMihaiの点を確認します。これは昨晩、私がこれをやったときに遅れていました!

+1

DD4Tテンプレート用のGACには何かが必要ですか? –

+0

TCMにアップロードする1つのDLLをTCMにアップロードする別のDLLを参照する方法はありません。NunoとMihaiの両方が指摘しているように(そして、Mihaiが指すDD4Tページにも記載されているように)、一般的な機能をGACに組み込む必要があります。 –

答えて

5

バージョン5.4はTridion 2009です.T2009のTcmUploadAssemblyをT2011で使用するとは思いません。ですから、私は最新のTcmUploadAssembly(T2011SP1の場合はv6.1.0.966)を使用することをお勧めします。

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

また、あなたのエラーが.NET 2を参照しています。.NET 4を使用してDLLを登録しましたか?

+5

また、DD4Tテンプレートインストーラを使用することもできます。これは、必要なすべてのDLL(DD4T.ContentModel、DD4T.ContentModel.ContractsおよびDD4T.Templates.Base)を実際のテンプレートと1つのDLLにマージし、アップロードします。その場合、GACに何かを入れる必要はありません。インストーラはhttp://code.google.com/p/dynamic-delivery-4-tridion/downloads/listからzip形式でダウンロードできます。 – Quirijn

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が含まれています。

あなたはGACに次のDLLを置くことができ、何らかの理由でILMergeが気に入らない場合は、次の

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

あなたは、ソースコードをダウンロードすることにより、これらのDLLを取得することができ、openi Dynamic Delivery Publishing.slnソリューションを構築し、それを構築します。