2009-12-14 23 views
5

F # ile yazılmış bir derlemeyi referans alan bir C# programım var. Bunu dağıtmak istiyorsam FSharp.Core.dll derlemesini doğru eklemem gerekiyor mu? (Kullanıcının F # yüklemediğini varsayarak)F # tabanlı kitaplıkları dağıtma

Sorun şu ki, Visual Studio bu dll'yi (veya başka bir ilgili F # DLL'leri) çözümümüzü oluştururken kopyalamıyor. Dll'yi çıktı klasörüne kopyalamak için nasıl talimat verebilirim?

Güncelleştirme: Şu anda yalnızca dağıtım için dll dosyalarını el ile kopyayorum. Sadece bunun neden gerekli olduğunu merak ediyordum.

cevap

9

VS'de, C# projesinde FSharp.Core'a başvuru başvurusunu sağ tıklatırsanız, "properties" öğesini seçip "Yerel Kopyala" yı "True" olarak değiştirirseniz, FSharp.Core.dll dosyası kopyalanır. çıkış dizinine

(Bu dağıtım makinede yüklü değil geliştirme makinenizde ama üzerinde GAC yüklü olan herhangi bir DLL için genellikle doğrudur.) .net 4.0 ile

+0

Anladım. Bunun kütüphaneler için çalıştığını görüyorum. Ancak, ASP.NET uygulamaları, Referansları göstermenin farklı bir yoluna sahiptir ve bu, orada çalışmaz gibi görünmüyor. –

4

FSharp.Core.dll dağıtımı otomatikleştirmek için nasıl bilmiyorum, ancak F # yüklü olmayan bir bilgisayarda çalışan bir derleme oluşturmak için --standalone bayrağı ile derlemeyi deneyebilirsiniz.

MSDN'dan derleyici bayrakları.

+0

Bunun tek başına programlar için çalıştığını düşünüyorum. Kodum C# programından çağrılan bir kütüphanede bulunduğundan bu benim için çalışmayabilir gibi görünüyor. Ve bu program, F # veri türlerini bununla etkileşime geçmek için referans almalıdır. –

1

bir F # Süre dağılımı vardır. F# Runtime Bu, ayrı olarak gönderilmek için kullanılan J # Runtime gibi.

+0

Bu bağlantı bozuk görünüyor – User