5

我不知道爲什麼我似乎無法弄清楚這一點。我在一些DLL強烈的命名地獄。這裏發生的事情:如何解決Azure Web部署中的System.Web.Helpers不匹配問題?

  • 我使用Visual Studio 2012 RC作出MVC4網站定位.NET 4.0
  • 我試圖使用的Gravatar剃刀助手在Microsoft.Web.Helpers
  • 它的工作原理在我的機器上,但通過Git部署到Azure後,我在調用Gravatar幫助程序時遇到以下異常:

    無法加載文件或程序集'System.Web.Helpers,Version = 2.0.0.0,Culture = neutral, PublicKeyToken = 31bf3856ad364e35'或它的一個依賴關係。該系統找不到指定的文件。

看來,我已經安裝了上任何的精選主辦我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

你有沒有嘗試過的答案下面?想用這個幫助你。 – 2012-07-26 19:53:39

回答

3

你說你嘗試過copylocal = true,但你是否確保程序集正在部署到服務器?

一個潛在的問題:

•擁有的.gitignore一個.dll過濾

我會向FTP服務器和檢查,以確保大會實際上是在bin目錄

+0

+1並被接受。 FTP的東西(我沒有意識到你可以做)導致我的問題(複製本地複製部署服務器的程序集,它是1.0.xxx而不是2.0.xxx)。我也意識到我的_bin_deployableAssembly文件夾有'Microsoft.Web.Helpers'而不是'System.Web.Helpers';一旦我將正確的程序集添加到該文件夾​​中,一切正常。 – 2012-07-27 00:48:36