すべての Web サイトをプリコンパイルし、aspnet_mergeツールを使用してすべての App_Web* dll ファイルを 1 つにマージしています。このツールは、対応するファイルの更新.compiledも処理して、新しいマージされたアセンブリを指すようにします。しかし、.svcファイルの場合、.compiledファイルは更新されないため、実行時に次のエラーが発生します
[FileNotFoundException: Could not load file or assembly 'App_Web_10iin0kr, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.]
ファイルをメモ帳で開いて(マージされた dll ファイルの名前) に.compiled置き換えるApp_Web_10iin0krと、すべて正常に動作します。Webビルドと公開はすべて自動であるため、少し面倒なので、ビルド後のステップとしてこれを行うスクリプトを作成する必要があります。これについて不平を言っているドキュメントや人々を見つけることはできませんでしたが、MSDN で新しいスレッドを開始する前に、同じ問題に遭遇したことがある場合や、回避します。