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