ASP.NET で型が参照されていないアセンブリで定義されているというエラーが発生した場合 (CS0012)
SPECIAL
デバッグ実行時に参照まわりのエラーが発生 (CS0012)
Visual Studio 2012 で ASP.NET のプログラミングをしていたときに、デバッグ実行時に次のようなエラーが発生したことがありました。
コンパイルエラーメッセージ: CS0012: 型 'System.Data.Services.Client.DataServiceContext' が参照されていないアセンブリで定義されています。アセンブリ 'System.Data.Services.Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' への参照を追加してください。
プロジェクトの参照設定自体では "System.Data.Services.Client" が設定されていて、ビルドまでは問題なく通過するのですけど、付属の IIS Express を使ってデバッグ実行すると、このエラーがブラウザー上に表示されます。
Web.config に <assembly> を設定する
これを解消するには、エラーで通知されたアセンブリを Web.config の <system.web> タグ内に明記する必要があるようです。
<system.web>
<compilation debug="true" targetFramework=“4.5">
<assemblies>
<add assembly="System.Data.Services.Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</assemblies>
</compilation>
</system.web>
Visual Studio 2012 が自動生成した Web.config には <compilation debug="true" targetFramework="4.5"> というタグが記載されていたので、その中に <assemblies> タグを用意します。そして、その中に <add assembly=""/> として、エラーで通知されたアセンブリを追加します。
このようにすることで、デバッグ実行時に発生していたエラーが解消され、実行できるようになりました。