IIS 7.5 でホストされている WCF サービス アプリがあります。MVC アプリはルート URL (例: www.myapp.com) にバインドされますが、サービスは "www.myapp.com/Services" にあります。サービス ライブラリと MVC アプリは .Net 4.0 を参照します。また、サービス アプリと mvc アプリは 2 つの別個のディレクトリに格納されます (つまり、サービス アプリは MVC アプリのサブディレクトリにはありません)。
MVC アプリは正常に読み込まれます。ただし、サービス URL を読み込むか、IIS でサービス アプリ ディレクトリを参照すると、次のエラーが発生します。
Compiler Error Message: CS0234: The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)
Source Error:
Line 25: <namespaces>
Line 26: <add namespace="System.Web.Helpers" />
Line 27: <add namespace="System.Web.Mvc" />
Line 28: <add namespace="System.Web.Mvc.Ajax" />
Line 29: <add namespace="System.Web.Mvc.Html" />
Source File: e:\myapp\Web.config Line: 27
サービス アセンブリ/プロジェクトは System.Web.Mvc を参照していません。
MVC アプリ web.config (サービス web.config ではなく) がサービス アプリ バイナリに対して評価されているようです。私はこれに対する救済策をあちこち探しましたが、どんな助けも大歓迎です。
最後に、このエラーはローカル IIS インスタンスでは発生しません。