F#PowerPack目标运行时

时间:2010-12-30 22:45:32

标签: f# assembly-binding-redirect

F#PowerPack的预构建二进制文件是针对.NET 2.0运行时编译的。如果我有.NET 4.0项目,那么编译.NET 4运行时的PowerPack源是否有任何优势?

2 个答案:

答案 0 :(得分:7)

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

我必须添加类似下面的内容然后才能正常工作:

<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>

答案 1 :(得分:0)

我的旧版.NET的app.config是

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

但是power pack在VS2010和.NET4 fsproj

上安装并运行良好