Skip to content

F# classlib MissingMethodException in 2.0.0-preview2-006391 #8389

Description

@AnthonyLloyd

Steps to reproduce

  1. Create a F# classlib referenced by an F# console project
  2. Code in the classlib builds fine but throws a MissingMethodException when run

An example I'm working on:
https://github.com/AnthonyLloyd/BenchmarksGame/tree/DotNetCore2preview2Bug

dotnet build succeeds
dotnet run --project .\tester\tester.fsproj fails

Expected behavior

The code builds so I wouldn't expect a missing method exception.

Actual behavior

Unhandled Exception: System.MissingMethodException: Method not found: 'Double FSharpOriginalNBody.test()'. at Program.main@32-1.Invoke(Unit arg00@) at Program.isFasterThan@26-1.Invoke(FSharpFunc`2 measurer) in C:\Users\Ant\src\BenchmarksGame\tester\Program.fs:line 26 at Expecto.Performance.timeCompare[a](FSharpFunc`2 f1, FSharpFunc`2 f2) in C:\Users\Ant\src\BenchmarksGame\tester\Performance.fs:line 133 at Program.isFasterThanSub[a](FSharpFunc`2 f1, FSharpFunc`2 f2, String format) in C:\Users\Ant\src\BenchmarksGame\tester\Program.fs:line 10 at Program.isFasterThan[a](FSharpFunc`2 f1, FSharpFunc`2 f2, String message) in C:\Users\Ant\src\BenchmarksGame\tester\Program.fs:line 25 at Program.main(String[] argv) in C:\Users\Ant\src\BenchmarksGame\tester\Program.fs:line 32 

I've checked that a mismatched function name causes a build error.

Environment data

dotnet --info output:

.NET Command Line Tools (2.0.0-preview2-006391) Product Information: Version: 2.0.0-preview2-006391 Commit SHA-1 hash: ef5d4b47c3 Runtime Environment: OS Name: Windows OS Version: 10.0.16215 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\dotnet\sdk\2.0.0-preview2-006391\ Microsoft .NET Core Shared Framework Host Version : 2.0.0-preview2-25407-01 Build : 40c565230930ead58a50719c0ec799df77bddee9 

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions