Visual Studio Express 2010 で「ASP.NET 空の Web サイト」を作成しました。
App_Code のコード ファイルに、「using System.Web.Script.Serialization;」という行があります。
ファイルをサーバーにプッシュすると、次のエラーが発生しました。
例外メッセージ: c:\inetpub[....]\Extensions.cs(10): エラー CS0234: 型または名前空間名 'Script' が名前空間 'System.Web' に存在しません (アセンブリ参照がありませんか? ?)
(サーバーは、ASP.NET 4.0 がインストールされた IIS 7 で Windows Server 2008 を実行しています。)
これは Web プロジェクトではなく Web サイトであるため、ここで宣伝されている「発行」機能を使用できませんでした:タイプまたは名前空間名 'Script' は、名前空間 'System.Web' に存在しません。
最後に、掘り下げた結果、この名前空間が System.Web.Extension アセンブリに含まれていることがわかり、web.config を介して手動で含める必要があることがわかりました。
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</assemblies>
</compilation>
だから、私の質問:これについてもっと良い方法はありますか?
これは私のローカル プロジェクトでは必要ないため、最初にどのアセンブリを手動で参照する必要があるかを判断するにはどうすればよいでしょうか。次に、参照を行うために必要な情報を取得するにはどうすればよいでしょうか (つまり、PublicKeyToken を取得するにはどうすればよいでしょうか)。 ?
アップデート
これは Web プロジェクトではなく Web サイトであるため、参照のリストは、Web.Config に手動で追加するまで表示されません。
そのため、この場合、「Copy Local」を「true」に選択しても機能しません。