C# 用F#FAKE测试PCL

C# 用F#FAKE测试PCL,c#,mstest,portable-class-library,f#-fake,C#,Mstest,Portable Class Library,F# Fake,我有一个包含PCL类库项目和测试库(MSTest)的解决方案。PCL使用Microsoft.Net.Http和Microsoft.Bcl.Compression进行gzip下载。PCL和测试项目都使用Nuget引用前面提到的LIB 当我在VisualStudio中运行测试时,测试工作正常并通过。当我从F#FAKE运行测试时 所有的测试都以失败告终 Test method XXX.AvailableLanguagesShoudlExist threw exception: System.Miss

我有一个包含PCL类库项目和测试库(MSTest)的解决方案。PCL使用
Microsoft.Net.Http
Microsoft.Bcl.Compression
进行gzip下载。PCL和测试项目都使用Nuget引用前面提到的LIB

当我在VisualStudio中运行测试时,测试工作正常并通过。当我从F#FAKE运行测试时

所有的测试都以失败告终

Test method XXX.AvailableLanguagesShoudlExist threw exception: 
System.MissingMethodException: Method not found: 'Void     
System.Net.Http.HttpClientHandler.set_AutomaticDecompression(System.Net.DecompressionMethods)'.

这里的问题可能是你的Mstest.exe使用了错误的F#或FSharp.Core.dll版本-我想我们需要更多的细节来解决这个问题

  • 请确保Visual Studio生成过程和伪生成过程使用相同的版本
  • 也许你需要使用绑定重定向

你能告诉我更多信息吗?这是我的第一个假构建脚本,根据示例和文档使用默认设置。问题是,这与假无关。我们只使用几个命令行调用来自动化构建。真正的问题是命令行/mstest使用的F#版本与VS不同。如果这是一个开源项目,那么我很乐意提供帮助。如果没有,那么也许其他人可以提供一个常见问题的列表。我试图在一个简单的项目中重现这个问题。在这一点上,在VS中测试是正常的,使用假构建脚本它们失败(不是相同的错误,但可能相关)
Test method XXX.AvailableLanguagesShoudlExist threw exception: 
System.MissingMethodException: Method not found: 'Void     
System.Net.Http.HttpClientHandler.set_AutomaticDecompression(System.Net.DecompressionMethods)'.