无法加载文件或程序集FSharp.Core,Version = 4.0.0.0 Azure Web Role

时间:2014-07-17 10:38:30

标签: c# azure

我在我的项目中添加了针对Mailchimp的NuGet包(http://mcapinet.codeplex.com/)这个包依赖于FSharp.Core,所以当我在我的本地机器上安装包时,它已被添加为参考(和Azure一样)一切正常,但是当我在Azure上发布我的Cloud Service时(注意:我正在使用Visual Studio Online进行持续部署)我在访问网站时遇到了这个错误:

Could not load file or assembly 'FSharp.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

FSharp.Core的属性“Copy local”设置为True。

我该如何解决这个问题?

修改

在部署期间,我可以看到此警告:

The project 'Interface.Web' is dependent on the following assembly: C:\a\src\TFS\packages\FSharp.Core.4.0.0\lib\FSharp.Core.dll. This assembly is not in the package. To make sure that the role starts, add this assembly as a reference to the project and set the Copy Local property to true

1 个答案:

答案 0 :(得分:1)

我已经通过引用最新的FSharp.Core - 4.3.1.0并将Copy Local设置为' True'来解决了这个问题。

然后将此代码添加到

之间的任何位置的web.config中
<configuration></configuration>

标记将所有旧版本绑定到新程序集。

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="FSharp.Core" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
      <bindingRedirect oldVersion="0.0.0.0-4.3.1.0" newVersion="4.3.1.0"/>
    </dependentAssembly>
  </assemblyBinding>
</runtime>

然后应该构建dll并删除您的错误。