0

私は、MSI パッケージを介して IIS Web サイトに公開される WCF サービスに取り組んでいます。私が抱えている問題は何よりも厄介ですが、可能であればそれを回避したいと思っています.

サービスを作成している間、サービス ホストを右クリックして [Web サイトの公開] を選択することにより、サービスを開発サーバーに公開します。これを行うと、次のフォルダー構造がインストールされます。

  • apsnet_client
  • 置き場

ディレクトリ内にbin(サービスを参照する DLL ファイルと共に)、 という名前の DLL ファイルがあります。このファイルには、実際のサービス コードを含むファイルApp_Code.dllのコンパイル済みバージョンが含まれています。Service.cs

明らかに、Visual Studio デプロイを使用してライブ環境に移行することはできないため、MSI パッケージを作成してインストールしました。MSI には、サービス ホストからのコンテンツ ファイルが含まれているだけです。

MSI が必要なファイルをインストールしている場合、ディレクトリ構造は少し異なります。ファイルの代わりに、Web サイト内にディレクトリApp_Code.dllを作成し、そこにファイルを配置します。これは機能し、サービスにアクセスできますが、サーバーにアクセスできる人が変更できるように、サービスをインスタンス化するコードをそこに置いておくことにあまり熱心ではありません。App_CodeService.cs

したがって、基本的に私がする必要があるのは、Web サイトの公開の出力を MSI パッケージに含めて、プリコンパイルされたものを取得することですApp_Code-これを行う方法はありますか? 私のソリューションでは、Service.csファイルをコンパイルするように設定するオプションがないため、別の方法でコンパイルする必要があります。

ありがとう。

4

1 に答える 1