在Mono上用F#签署DLL的问题

Ben*_*jol 5 mono f# assembly-signing

我试图在单声道F#中签署一个dll时遇到错误:

$ mono /usr/local/share/FSharp-2.0.0.0/bin/fsc.exe\
   --target:library \
   --keyfile:../../external/MyKeyFile.snk\
   AssemblyInfo.fs\
   ../../fs/FooBar.fs\  
   -o:FooBar.dll
Run Code Online (Sandbox Code Playgroud)

没有生成DLL,我收到此错误:

Microsoft (R) F# 2.0 Compiler build 2.0.0.0 Copyright (c) Microsoft Corporation. All Rights Reserved.`

error FS2014: A problem occurred writing the binary '': A call to StrongNameGetPublicKey failed (mscoree.dll)`
Run Code Online (Sandbox Code Playgroud)

密钥文件是在Windows中生成的,这有什么不同吗?

更新:

使用Mono 2.6.4

$ mono --version 

Mono JIT compiler version 2.6.4 (tarball Mon Jun 21 19:26:21 UTC 2010) 
Copyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.com
TLS:           __thread
GC:            Included Boehm (with typed GC and Parallel Mark)
SIGSEGV:       altstack
Notifications: epoll
Architecture:  amd64
Disabled:      none
Run Code Online (Sandbox Code Playgroud)

Mik*_*son 3

看起来 fsc 是 P/Invoking 原生 Windows API,不可移植。您可能应该向 F# 团队提出这个问题。