2016-11-11 24 views
6

Bunun için arama yaptım ve bir çok önceki cevap var ama hepsi aşırı karmaşık görünüyor.C# konsolu uygulamasını tek bir exe olarak nasıl dağıtabilirim?

Genel olarak C# ve Windows geliştirme konusunda yeni (eski Mac geliştiricisi).

Visual Studio Topluluk sürümünü kullanarak C# 'da basit bir konsol uygulaması yazdım. Uygulamam, projemde VS içinden NuGet ile eklenen iki üçüncü taraf kitaplığı (CommandLineParser ve json.NET) kullanıyor.

Tüm yapmak istediğim, bir DLL dosyasının çok sayıda DLL yüklemek zorunda kalmadan endişelenmenize gerek kalmadan bir komut isteminden çalıştırılabilen bağımsız bir .exe dosyası olarak projemi oluşturmaktır (kullanılmayan bir şey) yeni bir Windows kullanıcısı olarak ele almak için). Son kullanıcının .NET framework'ün yüklü olması gerektiğini anlıyorum. Kullanım durumumda tek bir .exe dosyası oluşturmak için aptalca bir kılavuz var mı?

Bu konuda yardımcı olamıyorum ama bunun çok yaygın bir sorun olduğunu düşünmüyorum.

Teşekkürler.

+2

Bu gerçekten yaygındır. Ancak, sorun yok varsayılan çözüm yoktur. Buna asla ihtiyacım yoktu, ama bağımlılıkları (dll ve malzeme) uygulamayı kaynak olarak paketleyebilen [Fody.Costura] (https://github.com/Fody/Costura) adında bir nuget paketi biliyorum. Başka bir olasılık temelde aynı – nozzleman

+7

yapar ILMerge olabilir Bu http://stackoverflow.com/questions/189549/embedding-dlls-in-a-compiled-executable kontrol edebilirsiniz – Miguel

+0

Sen vs ne versiyonu bilmiyorum kullanarak. Vs 2013 ile installshield sınırlı sürümü (ücretsiz) kullanabilirsiniz ve ayrıca harika bir iş çıkarır. Basit, düz ileriye doğru gui, doğru yönlendirilmiş bir kullanıcı arayüzü ile. .net gibi bağımlılıkları denetler ve gerekirse istemciye yükler. Ayrıca ikili dosyaları da yapılandırabilirsiniz. Bir klasör ve bir setup.exe – nocturns2

cevap

4

Alternatif gerçekten çalıştığını görmek ve bunu daha önce kendisi tarafından ILMerge kullanmaya mücadele ILMerge-GUI

kullanmayı deneyebilirsiniz nispeten hızlı halletmek anlık testini çalıştırmak istiyorsanız. GUI ile, her şeyin işe yarayabildiğini doğrulamak benim için çok daha hızlıydı.

5

Kitaplıkları ILMerge ile birleştirebilir ve Visual Studio'da bir yayın oluşturma olayı olarak çalıştırabilirsiniz. Bu, tüm kütüphanelerle bir exe yaratır. ILMerge here hakkında daha fazla bilgi bulabilirsiniz.

İlgili konular