2017-01-04 24 views
5

dotnet publish kullanarak yayımlayabileceğim bir ASP.NET Core uygulaması yapıyorum. Çok uzak çok iyi.Bir ASP.NET Core uygulamasını NuGet veya başka bir şekilde kullanmanın bir yolu var mı?

Bir NuGet sunucusunda yayınlayabilmek için bu uygulamayı paketlemeyle ilgileniyorum. Ancak, dotnet pack, web sitesini kendi başına yeniden oluşturmak için yeterli bilgiyi içermiyor gibi görünüyor - sadece dll dosyası.

dotnet pack aracılığıyla veya başka bir yöntemle bir NuGet paketi oluşturmanın bir yolu var mı, yoksa dosyaları el ile çıkış dizininde paketlemem gerekir mi?

+0

Bana göre, NuGet bağımlılıkları, yani kütüphaneleri yönetmek için bir araçtır. Bir paket oluşturup başka bir yere başvurursunuz. Bir web sitesine "referans vermek" ne demektir? –

+2

@AlexBuyny NuGet paketleri, web siteleri için bir dağıtım mekanizması olarak kullanılabilir. Ahtapot, örneğin, teslimatı ve sürümleri ele almak için bunları kullanır: http://docs.octopusdeploy.com/display/OD/Packaging+Web+Apps – Chris

cevap

4

1/2017 itibariyle, bunu yapmak için tek adım yolu yoktur, ancak ASP.NET Core hala yeni ve daha iyi bir yanıt vermeyi umduğum şu anda çok taze. (Eğer Ahtapot için Nuget paketi gerekiyorsa veya Octo.exe)

bir ASP.NET Çekirdek web sitesi için tek bir dosya paketi oluşturmak için en iyi yolu dotnet publish kullanarak uygulamanızı yayınlama ve bir ZIP yardımcı programını kullanarak dizin paketlemek etmektir.

2017/1 itibariyle geçerli araçlar: NuGet, cannot package .NET Core projelerini kullanan Octopack. NuGet'in kendisi çalışmak için bir bildirim veya proje dosyası gerektiren minimum bir araçtır ve dotnet pack yalnızca kaynak dosyaları toplar ve varlıklar değildir (bu sayede yaklaşık the answer below).

3

el

 

     "packOptions": { 
     "files": { 
      "include": [ "wwwroot/**.*", "Views/**.*" ] --add anything else that you need in here 
     } 
     } 

Sonra bu benim için çalıştı

dotnet pack

çalıştırmak örneğin

için, klasör/ihtiyacınız olan dosyaları içerecek project.json dosyada packOptions ayarı yapılandırabilirsiniz. Paket şimdi görüntüler, js dosyaları vb içerir.

+0

Teşekkürler! Keşke manuel numaralandırma gerektirmese de, 'dotnet yayınlaması' için biraz gerekli olduğu için şimdilik tatmin edici bir çözüm olabilir. – Chris

İlgili konular