5

なぜ私はこれを理解できないのか分かりません。私はDLLの強力な命名地獄のビットです。ここで何が起こっているのです:Azure WebデプロイでこのSystem.Web.Helpersの不一致を解決するにはどうすればよいですか?

  • 私はMVC4サイトは、私はそれが動作
  • Microsoft.Web.Helpersライブラリにグラバターレイザーヘルパーを使用しようとしています.NET 4.0

  • ターゲットにするのVisual Studio 2012 RCを使用しています私のマシンではGit経由でAzureにデプロイした後、Gravatarヘルパーを呼び出す際に次の例外が発生します:

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

私が私のAzureのサイトをホスティングしていますし、私がターゲットにしています何のGACにインストールされているSystem.Web.Helpersのバージョン間の不一致を持っているようです。ここで

は、私が試したものです:

  • ローカルコピー=真
  • 自分_bin_deployableAssembliesフォルダをハッキング、メニューオプションがで拡張アセンブリ情報を削除Phil Haack's blog
  • に説明欠落しているように見えるので、 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> 

誰でも??

+0

に実際にあることを確認するためにチェックするの.dllフィルタ

を持っていますが、あなたは答えを試してみました以下?これであなたを助けたいと思います。 –

答えて

3

あなたはcopylocal = trueを試しましたが、アセンブリがサーバーに展開されていることを確認しましたか?

潜在的な問題:

.gitignoreは、私は、サーバーにFTPおよびアセンブリは、binディレクトリ

+0

+1と受け入れます。 FTPの問題(私があなたができることを理解できなかった)は、問題を引き起こしました(コピー・ローカルでは、デプロイメント・サーバーのアセンブリをコピーしていました。これは、2.0.xxxではなく1.0.xxxでした)。私はまた、_bin_deployableAssemblyフォルダに 'System.Web.Helpers'ではなく' Microsoft.Web.Helpers'があることに気付きました。そのフォルダに適切なアセンブリを追加すると、すべて正常に機能しました。 –

関連する問題