1

コアサービスを使用してコンポーネントを公開しようとしています。これを行うには、コンソールアプリケーションを作成し、サーバーから実行しました。以下のエラーメッセージが表示されます。

未処理の例外:System.IO.FileNotFoundException:ファイルまたはアセンブリを読み込めませんでした'Tridion.ContentManager.CoreService.Client、Version = 6.1.0.996、Culture = neutral、PublicKeyToken=ddfc895746e5ee6b'またはその依存関係の1つ。システムは、指定されたファイルを見つけることができません。

以下は私のコードです、誰かがこの問題に直面することができますか?

static void Main(string[] args)
{

    try
    {
        string compid = "tcm:56-935";

        var client = new SessionAwareCoreServiceClient();
        var readoption = new ReadOptions();
        var component = (ComponentData)client.Read(compid, readoption);
        var ItemToPublish = new List<string>();
        ItemToPublish.Add(component.Id);
        var instruction = new PublishInstructionData();
        var pubtarget = (PublicationTargetData)client.Read(
                                               "tcm:0-21-65537", readoption);
        List<string> target = new List<string>();
        target.Add(pubtarget.Id);
        client.Publish(ItemToPublish.ToArray(), instruction, target.ToArray(), 
                       PublishPriority.Normal, readoption);
        Console.WriteLine("component published");
        Console.WriteLine(component.Title);
        Console.WriteLine(pubtarget.Title);
        Console.ReadLine();

    }
    catch (Exception e)
    {
        Console.WriteLine(e.Message);
        Console.ReadLine();
    }
}
4

2 に答える 2

4

エラーは明らかです。依存関係がないことを示しています。Tridion.ContentManager.CoreService.Client.dllは、実行可能ファイルと同じディレクトリに配置する必要があります(または、GACに配置することもできます)。通常、Visual Studioには、プロジェクトの参照されるアセンブリの[ローカルコピー]オプションがあります。これをtrueに設定して、コードの実行を再試行できます。

于 2012-07-09T09:39:11.150 に答える
3

(Igorの回答に対するコメントに基づくと)いくつかの構成が欠落しているようです。TridionPracticeサイトのFrankのwiki投稿をチェックしてください-https : //code.google.com/p/tridion-practice/wiki/GetCoreServiceClientWithoutConfigFile

于 2012-07-09T10:47:33.887 に答える