Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F#PowerPack目标运行时_F#_Assembly Binding Redirect - Fatal编程技术网

F#PowerPack目标运行时

F#PowerPack目标运行时,f#,assembly-binding-redirect,F#,Assembly Binding Redirect,F#PowerPack的预构建二进制文件是根据.NET2.0运行时编译的。如果我有一个.NET 4.0项目,那么为.NET 4运行时编译PowerPack源代码有什么好处吗?我使用了.NET 2.0版本的F#PowerPack in,这是一个.NET 4.0 ASP.NET项目。不使用4.0版本的唯一缺点是,在查找2.0版本(PowerPack的2.0版本引用了该版本)时,我必须添加配置以加载4.0版本的FSharp.Core.dll 我必须添加以下内容,然后它就可以正常工作了: <con

F#PowerPack的预构建二进制文件是根据.NET2.0运行时编译的。如果我有一个.NET 4.0项目,那么为.NET 4运行时编译PowerPack源代码有什么好处吗?

我使用了.NET 2.0版本的F#PowerPack in,这是一个.NET 4.0 ASP.NET项目。不使用4.0版本的唯一缺点是,在查找2.0版本(PowerPack的2.0版本引用了该版本)时,我必须添加配置以加载4.0版本的
FSharp.Core.dll

我必须添加以下内容,然后它就可以正常工作了:

<configuration>
  <!-- ... -->
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" />
      <bindingRedirect oldVersion="2.0.0.0" newVersion="4.0.0.0" />
    </dependentAssembly>
  </assemblyBinding>
  </runtime>
</configuration>

旧版.NET的My app.config是

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>


但是PowerPack在VS2010和.NET4上安装和运行良好,因此有一些好处,但不是很大的好处。尽管如此,自从F#作为VS2010的一部分发布以来,PowerPack的默认二进制下载需要这样的解决方法似乎有些奇怪。我刚刚遇到了一个使用fsharp和fsharp PowerPack的asp.net mvc 3站点的问题。失败,出现异常消息:无法加载文件或程序集“FSharp.Core,Version=2.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。(HRESULT的异常:0x8013100)。如上所述,我添加了一个DependentAssembly元素,并对其进行了排序。@Kit这是很久以前的事了,所以我不再知道细节:-)。我想重新编译F#PowerPack for.NET4.0(使用源代码)可能会更容易。是的,我也尝试过同样的问题。我可能犯了一个错误,因为那时我很匆忙。我现在可能会坚持重定向。:-)@配套元件。我正是得到了这个消息(即“无法加载文件或程序集'FSharp.Core,Version=2.0.0.0”),从Visual Studio 2010向Azure发布了一个F#ASP.NET MVC应用程序。我已经经历了很多与Azure相关的修复,但有些困难,但没有成功。Tomas在web.config中的修复第一次起作用!如果有人想要用F#v2 SP1编译器根据.NET 4.0构建F#PowerPack二进制文件,我已经托管了它们。真正好的是一个包含.NET 2和.NET 4二进制文件的官方NuGet包。