Windows Communication Foundation サンプルのビルドBuilding the Windows Communication Foundation Samples

Visual Studio IDE を使用してまたはを使用して、Windows Communication Foundation (WCF) サンプルを構築できる、 msbuildコマンドラインからコマンド。The Windows Communication Foundation (WCF) samples can be built using the Visual Studio IDE or using the msbuild command from the command line. ここでは、両方の手順について説明します。Both procedures are described in this topic.

注意

構築しても、WCF サンプルのいずれかを実行する前に実行済みであることを確認します、 Windows Communication Foundation サンプルの 1 回限りのセットアップ手順します。Before building or running any of the WCF samples, ensure you have performed the One-Time Setup Procedure for the Windows Communication Foundation Samples.

コマンド プロンプトを使用してサンプルをビルドするにはTo build the sample using a command prompt

  1. Visual Studio 用開発者コマンド プロンプトを開きし、サンプルがインストールされているディレクトリの場所の言語固有のサブディレクトリに移動します。Open Developer Command Prompt for Visual Studio and navigate to the language-specific subdirectory under the directory location where you installed the sample.

  2. msbuildコマンドライン。Type msbuild at the command line. クライアントのプログラム ファイルが組み込まれてclient \binに構築された、サービス プログラム ファイルとservice \binします。The client program files are built to client\bin and the service program files are built to service\bin. サービス プログラム ファイルもにコピーする場合は、サービスは、インターネット インフォメーション サービス (IIS) によってホストされている、 servicemodelsamples ディレクトリとその \bin サブディレクトリ。If the service is hosted by Internet Information Services (IIS), the service program files are also copied to the servicemodelsamples directory and its \bin subdirectory.

注意

Acl を設定する必要があります %systemdrive%\inetpub\wwwrootを付与するを実行しているアカウントにアクセス許可を変更します。You must set the ACLs on %systemdrive%\inetpub\wwwroot to grant modify permissions to the account under which you are running. このように設定しない場合、ビルド後のイベントが失敗する場合があります。Otherwise some post build events fail. 代わりに、ACL の設定はそのままにして、SDK コマンド プロンプトを管理者として実行することもできます。Alternatively, you can leave the ACLs as they are and run the SDK command prompt as administrator.

Visual Studio を使用してサンプルをビルドするにはTo build the sample using Visual Studio

  1. ファイル メニューの選択 Visual Studio でオープン > プロジェクト/ソリューションします。From the File menu in Visual Studio, select Open > Project/Solution. サンプルをインストールしたディレクトリの言語固有のサブディレクトリに移動し、Visual Studio でソリューションを開く .sln ファイルのアイコンをダブルクリックします。Navigate to the language-specific subdirectory under the directory in which you installed the sample, and double-click the .sln file icon to open the solution in Visual Studio.

  2. ビルドメニューの ソリューションのリビルドします。From the Build menu, select Rebuild Solution.

    クライアント プログラムが client\bin にビルドされ、サービス プログラムが service\bin にビルドされます。The client program files are built to client\bin and the service program files are built to service\bin. サービス プログラム ファイルもにコピーする場合は、サービスは IIS でホストされる、 servicemodelsamples ディレクトリとその \bin サブディレクトリ。If the service is hosted in IIS, the service program files are also copied to the servicemodelsamples directory and its \bin subdirectory.

注意

%systemdrive%\inetpub\wwwroot 上の ACL を、実行中のアカウントに変更権限を付与するように設定する必要があります。You must set the ACLs on %systemdrive%\inetpub\wwwroot to grant modify permissions to the account under which you are running. このように設定しない場合、ビルド後のイベントが失敗する場合があります。Otherwise some post build events fail. 代わりに、ACL の設定はそのままにして、SDK コマンド プロンプトまたは Visual Studio を管理者として実行することもできます。Alternatively, you can leave the ACLs as they are and run the SDK command prompt or Visual Studio as administrator. Visual Studio の一部のアクション (デバッガを ASP.Net ワーカー プロセスにアタッチするアクションなど) では、さらに管理特権が必要です。Some Visual Studio actions (such as attaching a debugger to the ASP.Net worker process) also require administrative privileges.

セットアップ バッチ ファイルとスクリプトSetup Batch Files and Scripts

Setup.exe、Cleanup.exe バッチ ファイルやスクリプトする必要がありますと、開発者コマンド プロンプトからが for Visual Studio を実行します。Setup.exe and Cleanup.exe batch files and scripts should be run from Developer Command Prompt for Visual Studio. いくつかのセットアップ ファイルとクリーンアップ ファイルは、管理特権が必要なタスクを実行します。したがって、これらのファイルは管理特権で起動する必要があります。Several set up and clean up files perform tasks that require administrative privileges and should be launched with administrator privileges.

メタデータ エンドポイントに関する重要なセキュリティ情報Important Security Information about Metadata Endpoints

可能性のある機密性の高いサービス メタデータが誤って漏洩を防ぐためには、Windows Communication Foundation (WCF) サービスの既定の構成ではメタデータの公開を無効にします。To prevent unintentional disclosure of potentially sensitive service metadata, the default configuration for Windows Communication Foundation (WCF) services disables metadata publishing. この動作は、既定の設定ではセキュリティで保護されますが、同時に、サービスの構成の中でメタデータ発行の動作が明示的に有効化されない限り、サービスの呼び出しに必要なクライアント コードをメタデータ インポート ツール (Svcutil.exe など) を使用して生成できないことも意味します。This behavior is secure by default, but also means that you cannot use a metadata import tool (such as Svcutil.exe) to generate the client code required to call the service unless the service’s metadata publishing behavior is explicitly enabled in configuration. サンプルでの試みを容易にするため、ほとんどすべてのサンプルでは、セキュリティ保護されていないメタデータ公開エンドポイントを公開しています。To make experimenting with the samples easier, almost all samples expose an unsecured metadata publishing endpoint. このようなエンドポイントを利用するコンシューマーは、匿名で、認証を受けていない可能性もあります。したがって、エンドポイントを配置する前には注意を払い、サービスのメタデータをパブリックに開示することが適切であることを確認する必要があります。Such endpoints are potentially available to anonymous unauthenticated consumers and care must be taken before deploying such endpoints to ensure that publicly disclosing a service’s metadata is appropriate. サービス メタデータの公開の詳細については、次を参照してください。、メタデータ公開動作サンプル。For more information about publishing service metadata, see the Metadata Publishing Behavior sample. 参照してください、メタデータ エンドポイントのセキュリティで保護されたカスタムメタデータ エンドポイントをセキュリティで保護するサンプルのサンプルです。See the Custom Secure Metadata Endpoint sample for a sample securing a metadata endpoint.

例外処理Exception Handling

通常、コードではサンプルの主題を重視するので、これらのサンプルに例外処理は含まれていません。Generally speaking these samples do not include exception handling to keep the code focused on the subject of the sample. 例外処理の詳細については、次を参照してください。、予想例外サンプル。For more information about exception handling, see the Expected Exceptions sample.

Svcutil を使用したクライアントと構成の再生成Regenerating Clients and Configuration with Svcutil

使用することができます、 ServiceModel メタデータ ユーティリティ ツール (Svcutil.exe)をクライアント コードとほとんどのサンプルの構成を再生成します。You can use the ServiceModel Metadata Utility Tool (Svcutil.exe) to regenerate client code and configuration for most of the samples. 一部のサンプルでは、構成を手動で編集する必要があります。Some samples require manually edited configuration. たとえば、Svcutil.exe を使用して、クライアント証明書の資格情報を使用するサンプルの構成を再生成する場合は、以前に構成された資格情報を手動で指定する必要があります。For example, if you use Svcutil.exe to regenerate the configuration for a sample that uses client certificate credentials, you must manually specify the credentials previously configured. 一部のサンプルでは、生成コードに影響を与える、Svcutil.exe の特定のオプションを使用します。これらのオプションは、そうした特定のサンプルのトピックで指定されます。Some samples use specific Svcutil.exe options to affect the generated code, these options are specified in the specific sample topics.

クライアントと構成ファイルを再生成するにはTo regenerate the client and configuration files

  1. SDK コマンド プロンプトを開き、サンプルのインストール ディレクトリに存在する言語固有のサブディレクトリに移動します。Open an SDK command prompt and navigate to the language-specific subdirectory under the directory location where you installed the sample.

  2. サービスが Web ホスト型の場合は、次のコマンドを使用します。If the service is a Web-hosted type, use the following command.

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /out:generatedClient.cs
    

    サービスが自己ホスト型の場合は、次のコマンドを使用します。If the service is a self-hosted type the following command.

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /out:generatedClient.cs
    

    置換http://localhost:8000/ServiceModelSamples/service.svc/mex自己ホスト型サービスの mex エンドポイントのアドレスを使用します。Replace http://localhost:8000/ServiceModelSamples/service.svc/mex with the address of the self-hosted service's mex endpoint.

    Visual Basic の型でクライアントを生成するには、次のコマンドを使用します。To generate the client in a Visual Basic type, use the following command.

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
    

    サービスが自己ホスト型の場合は、次のコマンドを使用します。If the service is a self-hosted type, use the following command.

    svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
    

    注意

    クライアント構成の生成の追加をスキップする、 /noConfigオプション。To skip the generation of client configuration add the /noConfig option.

関連項目See also