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

執筆日時:

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>

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