0

Web ルートで ASP.NET MVC 1.0 アプリケーションを実行しているサーバーに ASP.NET 4.0 (Web フォーム) プロジェクトを展開しようとしています。ゆっくりと進めていましたが、壁にぶつかったため、MVC フレームワークのバージョン 2.0 と .NET フレームワークの 4.0 に対して MVC アプリを再コンパイルすることにしました。そのためにいくつかのツールを使用しました。

プロジェクトは正常に変換されたように見えますが、コンパイルに失敗します。具体的には、System.Web.HttpContextBase に問題があるようです。

たとえば、次のコードがあるとします。

context.HttpContext.Response.Clear();

次のエラーが表示されます。

'System.Web.HttpContextBase' does not contain a definition for 'Response' and no extension method 'Response' accepting a first argument of type 'System.Web.HttpContextBase' could be found (are you missing a using directive or an assembly reference?)

確認のためにオブジェクト エクスプローラーをチェックしました。HttpContextBase には Response というプロパティがあります。このことは私を夢中にさせています。

私には別の大きな問題があり、それが関連していると私は信じています。Request オブジェクトが照会されるときはいつでも:

Request["old"];

それは言います:

Cannot apply indexing with [] to an expression of type 'System.Web.HttpRequestBase'

私が知る限り、これにも理由はありません。

私は途方に暮れています。MVC 2.0 の重大な変更のドキュメントを確認しましたが、これに関連するものは何も見つかりませんでした。参考文献はすべて私には良さそうです。バージョン番号はすべてチェックアウトします。

サーバーの問題に関する追加のメモ: ftp 以外のデプロイメント Web サーバーへのアクセス権がありません。サーバー構成をいじることができません。そのため、これは少し奇妙に聞こえるかもしれません。

4

1 に答える 1

1

私はあなたのために働いてうれしいです、ここに他のみんなのための答えとして再びあります

IDE とランタイムで、使用するライブラリのバージョンが一致していない可能性があります。新しいプロジェクトを作成し、ソースをそこに移動して、もう一度コンパイルしてみてください。

于 2011-10-07T18:33:13.470 に答える