C# Can';t枚举C中的F#列表#

C# Can';t枚举C中的F#列表#,c#,exception,f#,C#,Exception,F#,在下面的F代码中,我有一个定义了两个值的模块:一个int list和一个(int list)list 在下面的C代码中,我有一些单元测试,它们试图迭代在F中定义的列表值 当我运行单元测试时,我得到以下输出 [1;2;3]3 1 2 3 [[1;2;3];[2;3;4]]测试 'MasterMind.Test.ConsistentCodeTests.CaniterateListsofList'失败: System.EntryPointNotFoundException:未找到入口点。 位于Syst

在下面的F代码中,我有一个定义了两个值的模块:一个
int list
和一个
(int list)list

在下面的C代码中,我有一些单元测试,它们试图迭代在F中定义的列表值

当我运行单元测试时,我得到以下输出

[1;2;3]3 1 2 3

[[1;2;3];[2;3;4]]测试
'MasterMind.Test.ConsistentCodeTests.CaniterateListsofList'
失败:
System.EntryPointNotFoundException
:未找到入口点。
位于
System.Collections.Generic.IEnumerable'1.GetEnumerator()

System.Linq.Enumerable.Count[TSource](IEnumerable'1源)

ConsistentCodeTests.cs(49,0)

MasterMind.Test.ConsistentCodeTests.CaniteralistsofList()中

1次通过,1次失败,0次跳过,耗时3.11秒(NUnit 2.6.4)

访问
int列表
可以正常工作。C#代码可以成功地打印它、获取它的计数并迭代它

试图获取
(int list)列表的计数或迭代该列表的值
会引发
EntryPointNotFoundException
。我不知道如何修复此错误

模块游戏引擎
设aList=[1;2;3]
让列表=[1;2;3];[2;3;4]]
[Test]public void caniteralist()
{
控制台.WriteLine(游戏.引擎.aList);
Console.WriteLine(Game.Engine.aList.Count());
foreach(游戏中的inti.Engine.aList)Console.WriteLine(i);
}
[测试]公共void caniteralistsofsoflists()
{
控制台.WriteLine(游戏.引擎.列表);
Console.WriteLine(Game.Engine.listOfLists.Count());
}

听起来像是
FSharp.Core
版本不匹配。检查您的某个软件包是否未安装
FSharp.Core
v3.something-如果安装了,请更新到最新的稳定软件包

如果这还不够,请在测试项目的app.config中(假设您的测试运行程序会注意它)检查是否存在到正确v4程序集的绑定重定向

<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.4.0.0" newVersion="4.4.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>


如果这仍然没有帮助,请删除测试项目下的
obj
文件夹并重新生成。

如何调用测试运行程序?很奇怪,它应该可以工作。你应该很容易得到2。我已经在F#interactive中检查过了,它是有效的:
opensystem.Linq;;设a=[[1;2;3];[2;3;4];;设b=a.Count()
b=2。在一个普通的控制台程序中,您发布的代码对我来说非常好。我不明白为什么您在单元测试环境中会得到不同的结果,但是您需要改进这个问题,以使问题是可再现的,也就是说,使用。详细解释如何配置适当的单元测试线束以再现问题,或者提供一个好的独立控制台程序示例。是的,这就是问题所在。谢谢