2010-09-17 25 views
5

tôi nhận được một lỗi khi cố gắng ký dll trong F # trên mono:Sự cố khi đăng một dll trong F # trên Mono

$ 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 

Không dll được tạo ra, và tôi nhận được lỗi này lại:

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)` 

Tệp khóa được tạo trong Windows, điều đó có tạo nên sự khác biệt nào không?

Cập nhật:

Sử dụng 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 
+0

Bạn đang sử dụng phiên bản Mono nào? (bạn có thể tìm ra bằng cách chuyển đổi đơn điệu) –

+0

@Edgar, tôi đã thêm thông tin vào câu hỏi. – Benjol

Trả lời

3

Dường như FSC là P/Gọi Windows API bản địa, mà không phải là cầm tay. Có lẽ bạn nên nêu vấn đề với nhóm F #.

+0

Cảm ơn, đã thực hiện và sẽ báo cáo lại tại đây. – Benjol

+0

@ Benjol: bạn có nghe thấy gì không? – mmacaulay

+0

@mmacaulay, không thực sự, tôi nghĩ rằng tôi đã được sao chép trên một thư 'nội bộ' nói rằng họ sẽ cố gắng và nhìn vào nó. Tôi nghi ngờ nó ở đâu đó trong vùng đất của người đàn ông giữa Microsoft và Mono ... Nhưng nếu/khi tôi ** làm bất cứ điều gì, tôi sẽ đăng ở đây. – Benjol

2

Hãy thử sử dụng dấu sn để ký sau khi bạn tạo cụm.

Để thực hiện việc này, trước tiên bạn cần phải biên dịch với --delaysign flag để tạo ra một hội đồng đã ký trễ.

Sau đó, bạn có thể sử dụng tiện ích sn với cờ -R để ký tên vào hội đồng sau đó.

Tôi không chắc chắn 100% điều này sẽ hoạt động vì tôi không có máy Linux hoặc Mac xung quanh để thử nghiệm tính năng này. Đó là giá trị một shot mặc dù.

+0

Tôi đã xem và không thể tìm ra cách ký một hội đồng chưa được ký trước đó ... Bất kỳ con trỏ nào chào đón ... – Benjol

+0

Tôi đã thêm thông tin. Hi vọng điêu nay co ich. –

Các vấn đề liên quan