f:id:daruyanagi:20141114193956p:plain

問題

WebMatrix で作った ASP.NET Web Pages のプロジェクトを Visual Studio で開くと、

型または名前空間 Linq は名前空間 System に存在しません。アセンブリ参照が不足しています。

というエラーが出てコンパイルできない。

解決策

Web.config で明示的にターゲットフレームワークを指定する。WebMatrix はこれがなくても動くのだけど、Visual Studio の方はちゃんと書いておかないと動かない。

<?xml version="1.0"?>
<configuration>
  <system.web>
    <compilation targetFramework="4.0" debug="true"/>
  </system.web>
</configuration>

このエラーが出るたびに「あぁ、あれか」と思うのだけど、いつも具体的なコードが思い出せなくて、結局ググってたりする。