41

Windows 2003 R2 サーバーを使用しています。.NET MVC3 Web サイトを実行する必要があります。既にすべてのランタイム (1、2、および 4) をインストールしました。すべての MVC フレームワーク (3 および 4) をインストールしましたが、このエラーは解消されません。

ビューにあるはずのweb.configがあります。私は、この問題に対するすべての解決策をスタックオーバーフローの内外で追跡しました。また、[展開可能な依存関係の追加] (mvc プロジェクトを右クリック) を使用して、すべての dll を bin フォルダーに展開しました。

この時点で、他に何をすべきかわかりません。オンラインでアイデアや解決策を使い果たしました。

すべてのランタイム、フレームワークなどを既にアンインストールして再インストールしました。ローカル コンピューター (Windows 7) では問題なく動作しますが、展開すると次のエラーが発生します。

コンパイラ エラー メッセージ: CS0103: 名前 'ViewBag' は現在のコンテキストに存在しません

ソース エラー:

ライン1: @{

2 行目: ViewBag.Title = "ホームページ";

3 行目: }

4 行目: <h2>@ViewBag.Message</h2>

ソース ファイル: d:\FamilyDermMVC\Views\Home\Index.cshtml 行: 2

4

10 に答える 10

77

Web.Config ビューフォルダーの次のものが欠落しているようです:

/Views/Web.Config

<?xml version="1.0"?>

<configuration>

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <pages pageBaseType="System.Web.Mvc.WebViewPage"> // <-- this line and contents are important
        <namespaces>
          <add namespace="System.Web.Mvc" />
          <add namespace="System.Web.Mvc.Ajax" />
          <add namespace="System.Web.Mvc.Html" />
          <add namespace="System.Web.Routing" />
        </namespaces>
      </pages>

  </system.web.webPages.razor>

System.Web.Mvc.WebViewPageビューは通常、web.config で構成されているものから派生します。アプリケーションと共に DLL をデプロイしない場合、基本クラスは次の場所にインストールされた DLL にあります。

アセンブリ System.Web.Mvc.dll、v4.0.30319

c:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll

更新 1

MVC X から MVC Y に手動でアップグレードし、ターゲットの .Net Framework (4.5 から 4.6 など) を変更する必要がある場合新しいファイルと組み合わせて使用​​します (たとえば、MVC 5 DLL は 4.6 の System.Web に対して使用できません)。

于 2013-03-21T16:45:03.987 に答える
5

同じタイプの問題がありました (html ヘルパー コードが認識されない)。

どのように始まったのかわかりませんが、以下を置き換えることで解決しました:

<appSettings>
    <add key="webpages:Enabled" value="false" />
</appSettings>

<appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
</appSettings>

ビューの web.config ファイルで。

ここで私の解決策を見つけました

于 2015-11-30T01:14:09.683 に答える
3

ビューを閉じて、再構築して、ビューを開くと役立つ場合があります。

于 2016-10-14T16:16:31.987 に答える
1

Ok。それを私が直した。何がそれを修正したのか正確にはわかりませんが、この「9マイル」全体がそれを修正したと思います。

すべてのMVC拡張機能、ツール、およびそこにあるものをすべて削除(プログラムの削除)しました。

次に、.netランタイムを削除せずに再インストールしました。2と4。

次に、mvc3とmvc4をインストールし直しました。最新バージョンについては、asp.netにアクセスしました。

それから私は私のラップトップで同じことをしました。

注:Windows2003サーバーにMVC4をインストールするには、PowerShell2.0が必要です。そのサーバーの特定のダウンロードを見つける必要があります。

それをしたら、アプリプールをリサイクルしてサーバーを再起動しました。

BANG...ページが読み込まれました。

これが将来他の人々に役立つことを願っています。

答えてくれてありがとう。

PS:私のラップトップとサーバーには、それぞれ同じバージョン(またはリリース)のmvc3(またはmvc4)がなかったと感じています。

于 2013-03-21T21:34:44.117 に答える
1

Resharper が原因である可能性があります

Visual Studio/Tools/Options/Resharper に移動し、[ Suspend Now ]をクリックしてから [ Resume Resharperを再開] をクリックすると、その日はグレーではなくなりますが、おそらくカミソリ ウィンドウのグレーが増えるでしょう!

于 2016-08-19T02:04:32.457 に答える
0

http://www.asp.net/mvc/mvc5から Visual Studio 2012 の ASP.NET MVC 5 サポートをインストールすると、問題が解決します。

于 2015-01-12T15:07:23.517 に答える
0

私の場合、MVC 3 プロジェクトを MVC 2 対応プラットフォームで実行しようとしたため、この問題が発生しました。

次に、システムにMVC 3をインストールしましたが、問題は解決しました

于 2014-03-04T16:46:50.487 に答える