3

Visual Studio 2012 で wcf を実行しようとすると、次のエラーが発生します。

使用法: WcfSvcHost.exe /service:<PathToServiceDLL> /config:<PathToServiceConfig> [/client:<pathToClientApp>][/clientArgs:<argumentsToBePassedToClientApp>]

環境に問題がある可能性があることを示唆するブログをいくつか読みましたが、別のプロジェクトを正常に実行できます。

私の app.configファイルの重要な設定:

<endpoint address="" binding="wsHttpBinding" contract="Sac.Business.Interfaces.IManufacturer">
<service name="Sac.Business.Logic.ManufacturerLogic" behaviorConfiguration="ManufactuerBehave">
<behavior name="ManufactuerBehave">

別のプロジェクトの私の svcファイル:

<%@ ServiceHost Language="C#" Debug="true" Service="Sac.Business.Logic.ManufacturerLogic" %>
<%@ Assembly Name="Sac.Business.Logic" %>

何が欠けているのかわかりません。

4

4 に答える 4

3

プロジェクトで考えられる問題を次に示します。ソリューション エクスプローラーからプロジェクトのアイコンを右クリックし、[プロパティ] を選択します。これにより、プロジェクトのプロパティ ウィンドウが表示されます。プロパティウィンドウでデバッグタブに移動します。[アクションの開始] セクション内の右側のペインで、選択したオプション ボタンを確認します。Visual Studio 2010 に関する私の観察に言及していますが、VS 2012 でも同じであることを願っています。今 :

  1. 「プロジェクトの開始」オプション ボタンが選択されている場合は、「開始オプション」セクションの「コマンド ライン引数」フィールドを確認します。値は "/client:"WcfTestClient.exe" である必要があります。ここに問題がある場合は、問題を解決するために修正してください。「コマンド ライン引数」フィールドが空白の場合でも問題ありません。WCF サービスは引き続きホストされます。 wcftestclient が起動されないという違いだけで、成功しました。
  2. 「外部プログラムの開始」オプション ボタンが選択されている場合は、への完全修飾パスが表示されWcfSvcHost.exeます。このパスは、使用している特定のバージョンのビジュアル スタジオに固有のものです。私のボックスのVS 2010の場合、パスは"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\WcfSvcHost.exe". この後、「コマンドライン引数」フィールドを確認してください。値が必要です"/service:wcfservicelibrary1.dll /config:wcfservicelibrary1.dll.config /client:WcfTestClient.exe"。ここ/service/config/clientは、WcfSvcHost.exe へのコマンド ライン引数です。「wcfservicelibrary1.dll」は、プロジェクトの /bin/debug フォルダーに作成された私の wcf サービス ライブラリ プロジェクトのバイナリ ファイルの名前です。"wcfservicelibrary1.dll.config"ビルドが成功した後、プロジェクトの /bin/debug フォルダーに作成された私の wcf サービス ライブラリ プロジェクトの構成ファイルの名前です。"app.config"デフォルトの構成ファイル名が からに変更されることに注意してください。"wcfservicelibrary1.dll.config"ビルドプロセスの後。/serviceコマンド ライン パラメータ、つまり, /config, に言及する際にスペル ミスがあってはなりません/client。通常、私たちはあなたが直面している問題に直面しているため、スペルミスを犯します. 上記の 3 つのコマンド ライン引数に加えて、もう 1 つのコマンド ライン引数があります/clientArgs。私もこのコマンドライン引数を使用していて、スペルを間違えていまし/clientArg/clientArgs. このスペルを修正すると、問題は解決しました。

これらの観察が問題の解決に役立つかどうかを確認してください。

于 2015-02-06T04:21:57.167 に答える
1

その質問はずっと前に尋ねられたようですが、今日私はそのようなエラーを受け取りました。おそらく答えは誰かを助けるでしょう.

私の場合、その理由は、プロジェクトに構成ファイルがなかったためです。app.config ファイルを含む他のホスト プロジェクトを使用していますが、デバッグ目的で wcf サービスをスタートアップ プロジェクトとして設定した後、Visual Studio には表示されません。その場合は、app.config をホストから wcf プロジェクトにコピーするだけです。

于 2014-01-27T08:43:29.863 に答える
0

「マイ ドキュメント」の IIS Express フォルダを削除し、ソリューションを閉じて、もう一度開始してください。それが私の問題を解決することができた方法です。

于 2014-08-27T08:16:30.177 に答える