Dan Fitch
Dan Fitch

Reputation: 2529

F# 3.0 compiler error FS0193 when upgrading project

I'm getting a strange FSharp.Core-related error when building one of my larger projects, and the error doesn't contain any location information to help me track down where the problem is.

The compile error is error FS0193: The module/namespace 'Microsoft.FSharp.Linq.RuntimeHelpers' from compilation unit 'FSharp.Core' did not contain the namespace, module or type 'LeafExpressionConverter'

At first I thought it was because the project was using the old Powerpack LINQ stuff, so I stripped that out. Then I thought maybe it had something to do with using Entity Framework 4.3 instead of 5.0, so I upgraded that. Same error. I'm still compiling to .NET 4.0, not 4.5... perhaps this is part of the cause?

I compared the Doctypes.fsproj XML with other projects in the same solution, and everything looks normal. The FSharp.Core reference is simply <Reference Include="FSharp.Core" />

This is a very large project, so creating a small reproducible version of this error may take me a while to figure out, and I'm wondering if anyone here has a quick answer.

Here's the MSBUILD output:

19> C:\Program Files (x86)\Microsoft SDKs\F#\3.0\Framework\v4.0\fsc.exe -o:obj\Debug\DTC.Doctypes.dll -g --debug:full --noframework --define:DEBUG --define:TRACE --doc:bin\Debug\Doctypes.XML --optimize- --tailcalls- --resource:statutes_ebook_cover.jpg -r:A:\svn\dtc\Publisher\Doctypes\bin\Debug\CsvHelper.dll -r:A:\svn\dtc\Publisher\Data\bin\Debug\DTC.Data.dll -r:A:\svn\dtc\Publisher\Formats\bin\Debug\DTC.Formats.dll -r:A:\svn\dtc\Publisher\Parser\bin\Debug\DTC.Parser.dll -r:A:\svn\dtc\Publisher\ReferenceParser\bin\Debug\DTC.ReferenceParser.dll -r:A:\svn\dtc\Publisher\Shared\bin\Debug\DTC.Shared.dll -r:A:\svn\dtc\Publisher\Solr\bin\Debug\DTC.Solr.dll -r:A:\svn\dtc\Publisher\Utilities\bin\Debug\DTC.Utilities.dll -r:A:\svn\dtc\Publisher\Doctypes\bin\Debug\EntityFramework.dll -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v4.0\FSharp.Core.dll" -r:A:\svn\dtc\Publisher\packages\HtmlAgilityPack.1.4.6\lib\Net40\HtmlAgilityPack.dll -r:A:\svn\dtc\Publisher\packages\DotNetZip.1.9.1.8\lib\net20\Ionic.Zip.dll -r:A:\svn\dtc\Publisher\packages\LegislativeData.1.0.2773.180\lib\net40\LegislativeData.dll -r:A:\svn\dtc\Publisher\packages\LibrarianData.1.0.2773.6\lib\net40\Librarian.Data.dll -r:A:\svn\dtc\Lib\Office12\Microsoft.Office.Interop.Excel.dll -r:A:\svn\dtc\Lib\Office12\Microsoft.Office.Interop.Word.dll -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\mscorlib.dll" -r:A:\svn\dtc\Publisher\packages\Newtonsoft.Json.4.5.11\lib\net40\Newtonsoft.Json.dll -r:A:\svn\dtc\Publisher\Repository\bin\Debug\Repository.dll -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.ComponentModel.DataAnnotations.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Configuration.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Core.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.Entity.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Numerics.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Runtime.Serialization.dll" -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Xml.dll" --target:library --warn:4 --warnaserror --warnaserror:76 --vserrors --validate-type-providers --LCID:1033 --utf8output --fullpaths --flaterrors --highentropyva- "C:\Users\dfitch\AppData\Local\Temp\.NETFramework,Version=v4.0.AssemblyAttributes.fs" Helpers.fs Paths.fs FolioImport.fs Epub.fs Kindle.fs Ebooks.fs SharedLaw.fsi SharedLaw.fs SharedIndex.fs HistoryLinks.fs AdministrativeCodeHeaders.fs AdministrativeCode.fs AdministrativeCodeTOC.fs AdministrativeCodeIndex.fs SCRHeaders.fs Register.fs StatuteHeaders.fs Statutes.fs StatutesTOC.fs StatutesIndex.fs CrossReferences.fs SupremeCourtRules.fs Constitution.fs SessionTypes.fs CrDocs.fs EmergencyRules.fs OracleSession.fs LatsSession.fs TestSessionData.fs Session.fs Votes.fs SessionText.fs FiscalEstimates.fs LatsBulletinIndex.fs SharedBulletinIndex.fs AuthorIndex.fs SubjectIndex.fs JournalIndex.fs CrIndex.fs ActIndex.fs SectionsAffected.fs LCAmendmentMemos.fs LCActMemos.fs LCDocuments.fs RecordsOfCommitteeProceedings.fs VetoMessages.fs AssemblyInfo.fs Journals.fs Calendars.fs ProposalText.fs AmendmentText.fs EnrolledBillsText.fs RDAttachments.fs ActText.fs Budget.fs LegislativeRules.fs DraftingManual.fs AdminRulesManual.fs DraftingFiles.fs ExecutiveOrders.fs CapitolHeadlines.fs TownLawForms.fs FolioBillHist.fs FolioLaw.fs FolioSessionImport.fsi FolioSessionImport.fs FolioSession.fs FolioMisc.fs FolioIndexes.fs FolioCr.fs Wislaw.fs Help.fs Disclaimers.fs Dnotes.fs CCC.fs LCMemos.fs oag.fs AdministrativeCodeCites.fs StatutesRepealedRenumbered.fs LRBUserProcedures.fs LRBDraftingManual.fs 
19>FSC: error FS0193: The module/namespace 'Microsoft.FSharp.Linq.RuntimeHelpers' from compilation unit 'FSharp.Core' did not contain the namespace, module or type 'LeafExpressionConverter'
19>C:\Program Files (x86)\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets(155,9): warning MSB5021: "Fsc" and its child processes are being terminated in order to cancel the build.
19>C:\Program Files (x86)\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets(155,9): error : Build was canceled.

Upvotes: 4

Views: 2210

Answers (1)

Joel Mueller
Joel Mueller

Reputation: 28735

Your MSBuild output shows a reference to...

C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v4.0\FSharp.Core.dll.

That's the F# 2.0 version of FSharp.Core. You need to reference the F# 3.0 version instead:

C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\3.0\Runtime\v4.0\FSharp.Core.dll

Upvotes: 7

Related Questions