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

时间:2010-06-15 02:56:33

标签: f#

我正在尝试部署在Windows Server 2008上使用F#4.0的Web应用程序。

它适用于安装了VS2010但在服务器上无法运行的计算机。每次打开页面时都会收到以下错误消息:

  

无法加载文件或程序集'FSharp.Core,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。系统找不到指定的文件。

我使用网络平台安装程序安装了.NET 4。 F#PowerPack也已安装。

我找到了这个页面:http://connect.microsoft.com/VisualStudio/feedback/details/507202/error-in-working-with-f 它建议你重新安装F#,但下载F#的链接似乎已被打破。它可能不是我遇到的同样问题。

我还尝试安装Microsoft F#2.0.0.0,因为它是我能找到的唯一F#重新分发。但它根本没有用。

有没有人能得到这样的东西?

8 个答案:

答案 0 :(得分:20)

您需要在部署计算机上安装redist(F#运行时)。参见例如

http://msdn.microsoft.com/library/ee241127(VS.100).aspx(或http://msdn.microsoft.com/en-us/library/ee829875.aspx

有关如何让VS项目链成为安装程序的信息。如你所见,redist(位于这里:

http://www.microsoft.com/downloads/details.aspx?FamilyID=5f0a79f8-925f-4297-9ae2-86e2fdcff33c&displaylang=en

)需要安装; FSharp.Core不是.NET的一部分,而是一个单独安装的组件。

答案 1 :(得分:14)

我需要FSharp.Core的4.0.0版本,所以我通过Nuget在Visual Studio 2010中安装了它:
http://nuget.org/packages/FSharp.Core

或者在程序包管理器控制台中运行以下命令:
PM>安装包FSharp.Core

然后发布项目并上传FSharp.Core.dll

答案 2 :(得分:4)

我遇到了同样的问题并且通过以下方式解决了问题:

  1. 在网络项目中添加对 FSharp.Core 的引用(我的是一个C#项目)
  2. 在FSharp.Core参考属性中将将本地复制更改为 True
  3. 构建并发布!

答案 3 :(得分:3)

只需安装:服务器上的Microsoft Visual Studio 2010 F#Runtime 2.0

http://www.microsoft.com/en-us/download/details.aspx?id=13450

答案 4 :(得分:2)

我设法通过从VS2010安装程序安装FSharpRedist2.0来实现它。它位于\ WCU \ FSharp。

答案 5 :(得分:1)

添加

<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>

*.csproj文件帮我解决了同样的问题。 https://msdn.microsoft.com/en-us/library/2fc472t2%28v=vs.110%29.aspx

答案 6 :(得分:1)

在我的情况下,这是由配置损坏引起的。我在*.fsproj*.csproj文件(包括绑定重定向)中删除了对F#的每个引用,从NuGet重新安装了FSharp.Core包,一切都很顺利。

答案 7 :(得分:0)

对于任何在更新到VS 2019后绊脚石的人来说

就我而言,我有一个引用F#类库的C#控制台应用程序。在VS 2017中一切都很好,但是在VS 2019中,我突然收到这样的程序集加载错误(对于FSharp.Core v4.7.0)。

该问题背后的原因是FSharp.Core DLL某种程度上没有被复制到控制台应用程序的bin文件夹中(尽管IMO应该,但它不会打扰VS 2017)。由于NuGet软件包没有本地复制或类似选项,因此我也将其添加到控制台应用程序中。不好,但是可以。