5

なぜこれを理解できないように見えるのかわかりません。私はDLLの厳密な名前付け地獄にいます。何が起こっているかは次のとおりです。

  • Visual Studio 2012 RC を使用して、.NET 4.0 をターゲットとする MVC4 サイトを作成しています。
  • Microsoft.Web.Helpersライブラリで Gravatar Razor ヘルパーを使用しようとしています
  • 私のマシンでは動作しますが、Git 経由で Azure にデプロイした後、Gravatar ヘルパーの呼び出しで次の例外が発生します。

    ファイルまたはアセンブリ 'System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

System.Web.HelpersAzure サイトをホストしている GAC にインストールされているのバージョンと、ターゲットにしているバージョンが一致していないようです。

これが私が試したことです:

  • ローカルにコピー = true
  • Phil Haack のブログで説明されているように、メニュー オプションが欠落しているように見えるため、自分の _bin_deployableAssemblies フォルダーをハッキングする
  • System.Web.Helpers の .csproj ファイル内の拡張アセンブリ情報を削除する

また、web.config に次のアセンブリ バインディング リダイレクトがあります。

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
      ...
</runtime>

誰??

4

1 に答える 1

3

copylocal=true を試したと言いましたが、アセンブリがサーバーにデプロイされていることを確認しましたか?

潜在的な問題:

• .gitignore には .dll フィルターがあります

FTP でサーバーに接続し、アセンブリが実際に bin ディレクトリにあることを確認します。

于 2012-07-25T03:15:40.607 に答える