36

私は以前にこの問題を抱えていましたが、その後、プロジェクトをクリーンアップして再構築するだけで済みました。今ではそれはもううまくいかないようです。Asp.Net MVC3プロジェクトデバッガーを起動すると、ブラウザーでサイトが開きます。ブラウザに最初のページが表示される代わりに、次のエラーが発生します。

Parser Error Message: Could not load file or assembly 'System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

Source Error: 
Line 31:         <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Line 32:         <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Line 33:         <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Line 34:       </assemblies>
Line 35:     </compilation>

これを解決する方法がわからないようです。何か案が?

4

7 に答える 7

25

私にとっての解決策は、サーバーにアクセスしてWebページバージョン2をサーバーにインストールすることでした。

http://www.microsoft.com/en-us/download/details.aspx?id=34600にアクセスします

パッケージをダウンロードして実行します。

それはそれと同じくらい簡単でした。

于 2015-01-05T18:57:22.460 に答える
19

私はこの問題を抱えていました。たぶん、MVCv3の上に.NETMVCv4をインストールしたときに発生したのかもしれません。

System.Web.WebPagesとにかく、プロジェクトから参照を削除しました。次に、[参照の追加]ダイアログの[.NET]タブに、バージョン1.0.0.0と2.0.0.0の2つのSystem.Web.WebPages参照が一覧表示されました。欠けていたのはバージョン1.0.0.0のものだったので、必ず追加しました。

ここに画像の説明を入力してください

于 2012-09-28T01:20:17.290 に答える
13

私のために働いた:

  1. ツール->NuGetパッケージマネージャー->ソリューション用のNuGetパッケージの管理

  2. ブラウズ

  3. 「Microsoft.AspNet.WebPages」を検索します

  4. ソリューション内のすべてのプロジェクトが最新バージョンであることを確認してください。

于 2016-10-19T10:44:21.397 に答える
6

私はそれを持っていたときにこの問題についてしばらく頭をかいた。最終的に、web.configの「ランタイム」セクションに次のセクションがあることに気付きました。

<runtime>
 . . .
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
. . .
</runtime>

ご覧のとおり、これはアセンブリのバージョン2を参照しており、web.configのsystem.web / compilation/assembliesセクションにある次のコードとは一致しません。

<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

プロジェクトのリファレンスで参照されている実際のアセンブリは実際にv1.0.0.0であるため、上記のコードの最初のチャンクを次のコードに変更しました。これにより、問題がすぐに修正されました。そもそもどうやって間違いが起こったのかわかりません。

<runtime>
 . . .
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" />
      </dependentAssembly>
. . .
</runtime>
于 2013-01-10T10:58:37.470 に答える
4

メニューに移動します:「ツール/Nugetパッケージマネージャー/パッケージマネージャーコンソール」

コマンドを実行install-package Microsoft.AspNet.WebPages

于 2017-03-21T06:52:07.263 に答える
1

私はこの問題を抱えていました、私がしなければならなかったのは外部参照のプロパティを変更することだけでした:特定のバージョンをTrueからFalseに

その後、プロジェクトは再びビルドされます。

于 2015-11-18T09:46:30.740 に答える
0

MVC5でも同じ問題が発生します。

最初に、プロジェクトのリファレンスからSystem.Web.WebPagesアセンブリを確認します。

  1. 見つからない場合は、プロジェクト参照から参照を追加を選択して追加します。
  2. 見つかった場合は、その参照のプロパティからのチェックバージョン。次に、プロジェクトのweb.configファイルを確認します。この2つのバージョンが一致していない可能性があります。

私の場合、バージョン2.0.0.0のリファレンスを追加します。しかし、私のweb.configファイルはからそれを参照します

<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />

そして私はそれをに変更します

<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />

それはMVC5で私のために働きます。

より多くのクリアランスについては、私の添付ファイルの強調表示されたセクションを確認してください。

System.Web.WebPages

于 2017-01-30T11:01:53.840 に答える