在Mac OS X下构建时出现WebSharper错误

时间:2014-09-18 20:38:58

标签: macos f# msbuild xbuild websharper

我正在尝试使用Mac OSX下的WebSharper构建项目,我收到以下错误:

Target WebSharperCompile:
        Compiling with WebSharper..
/Volumes/Data/Dev/Landmark_tools/packages/WebSharper.2.5.125.62/build/WebSharper.targets: error : Non-negative number required.
Parameter name: srcOffset  at System.Buffer.BlockCopy (System.Array src, Int32 srcOffset, System.Array dst, Int32 dstOffset, Int32 count) [0x00000] in <filename unknown>:0 
  at Mono.Cecil.PE.Image.GetDebugHeader (System.Byte[]& header) [0x00000] in <filename unknown>:0 
  at Mono.Cecil.ModuleDefinition.GetDebugHeader (System.Byte[]& header) [0x00000] in <filename unknown>:0 
  at Mono.Cecil.ModuleDefinition.ProcessDebugHeader () [0x00000] in <filename unknown>:0 
  at Mono.Cecil.ModuleDefinition.ReadSymbols (ISymbolReader reader) [0x00000] in <filename unknown>:0 
  at Mono.Cecil.ModuleReader.ReadSymbols (Mono.Cecil.ModuleDefinition module, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename unknown>:0 
  at Mono.Cecil.ModuleReader.CreateModuleFrom (Mono.Cecil.PE.Image image, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename unknown>:0 
  at Mono.Cecil.ModuleDefinition.ReadModule (System.IO.Stream stream, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename unknown>:0 
  at Mono.Cecil.AssemblyDefinition.ReadAssembly (System.IO.Stream stream, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename unknown>:0 
  at IntelliFactory.WebSharper.Compiler.Loader.load (Microsoft.FSharp.Core.FSharpOption`1 flp, System.Byte[] bytes, Microsoft.FSharp.Core.FSharpOption`1 symbols, IntelliFactory.Core.AssemblyResolver aR) [0x00000] in <filename unknown>:0 
  at IntelliFactory.WebSharper.Compiler.Loader.LoadFile (System.String path) [0x00000] in <filename unknown>:0 
    Task "WebSharperTask" execution -- FAILED
    Done building target "WebSharperCompile" in project "/Volumes/Data/Dev/Landmark_tools/RegionsInfo/RegionsInfo.fsproj".-- FAILED
Done building project "/Volumes/Data/Dev/Landmark_tools/RegionsInfo/RegionsInfo.fsproj".-- FAILED

Build FAILED.
Errors:

/Volumes/Data/Dev/Landmark_tools/RegionsInfo/RegionsInfo.fsproj (default targets) ->
/Volumes/Data/Dev/Landmark_tools/packages/WebSharper.2.5.125.62/build/WebSharper.targets (WebSharperCompile target) ->

    /Volumes/Data/Dev/Landmark_tools/packages/WebSharper.2.5.125.62/build/WebSharper.targets: error : Non-negative number required.
Parameter name: srcOffset  at System.Buffer.BlockCopy (System.Array src, Int32 srcOffset, System.Array dst, Int32 dstOffset, Int32 count) [0x00000] in <filename unknown>:0 
  at Mono.Cecil.PE.Image.GetDebugHeader (System.Byte[]& header) [0x00000] in <filename unknown>:0 
  at Mono.Cecil.ModuleDefinition.GetDebugHeader (System.Byte[]& header) [0x00000] in <filename unknown>:0 
  at Mono.Cecil.ModuleDefinition.ProcessDebugHeader () [0x00000] in <filename unknown>:0 
  at Mono.Cecil.ModuleDefinition.ReadSymbols (ISymbolReader reader) [0x00000] in <filename unknown>:0 
  at Mono.Cecil.ModuleReader.ReadSymbols (Mono.Cecil.ModuleDefinition module, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename unknown>:0 
  at Mono.Cecil.ModuleReader.CreateModuleFrom (Mono.Cecil.PE.Image image, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename unknown>:0 
  at Mono.Cecil.ModuleDefinition.ReadModule (System.IO.Stream stream, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename unknown>:0 
  at Mono.Cecil.AssemblyDefinition.ReadAssembly (System.IO.Stream stream, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename unknown>:0 
  at IntelliFactory.WebSharper.Compiler.Loader.load (Microsoft.FSharp.Core.FSharpOption`1 flp, System.Byte[] bytes, Microsoft.FSharp.Core.FSharpOption`1 symbols, IntelliFactory.Core.AssemblyResolver aR) [0x00000] in <filename unknown>:0 
  at IntelliFactory.WebSharper.Compiler.Loader.LoadFile (System.String path) [0x00000] in <filename unknown>:0 

     0 Warning(s)
     1 Error(s)

我可以在Windows下构建相同的项目而不会出现任何问题。 在windows下我可以简单地执行msbuild或指定配置msbuild /p:Configuration=Release甚至是Fake编译器。 在Mac OSX下,无论我尝试使用什么(使用xbuild或Fake),我总是得到同样的错误。上次我有了这个,我能够使用发布模式构建项目,但在这里它也不起作用。

我在github下托管了该项目:https://github.com/MangelMaxime/BugReport

我知道不建议这样做,但最好有相同的条件......

1 个答案:

答案 0 :(得分:1)

看起来像最近修复的Cecil错误:"Non-negative number required" trying to read f# dll