Uygulamanızı bir klasöre, IIS'ye, Azure'a veya başka bir hedefe dağıtma

Bir uygulamayı, hizmeti ya da bileşeni dağıtarak bunu diğer bilgisayarlardaki, cihazlardaki, sunuculardaki ya da buluttaki yükleme için dağıtmış olursunuz. İhtiyacınız olan dağıtım türü için uygun yöntemi Visual Studio'da seçebilirsiniz.

Dağıtım göreviniz için yardım alın:

  • Yeni bir hedefe dağıtmak için, daha önce bir yayımlama profili oluşturduysanız, yapılandırılmış bir profilin Yayımla penceresinden Yeni'yi seçin.

    Screenshot of Create a new publish profile.

    Ardından Yayımla aracında bir dağıtım seçeneği belirleyin. Yayımlama seçenekleriniz hakkında bilgi için aşağıdaki bölümlere bakın.

  • Yeni bir hedefe dağıtmak için, daha önce bir yayımlama profili oluşturduysanız, yapılandırılmış profil için Oluştur menüsünden Yayımlama Seçimi'ni seçin.

    Screenshot of Create a new publish profile.

    Ardından Yayımla aracında bir dağıtım seçeneği belirleyin. Yayımlama seçenekleriniz hakkında bilgi için aşağıdaki bölümlere bakın.

Hangi yayımlama seçenekleri bana uygun?

Visual Studio'dan uygulamalar doğrudan aşağıdaki hedeflere yayımlanabilir:

Önceki seçenekler, yeni bir yayımlama profili oluşturduğunuzda aşağıdaki çizimde gösterildiği gibi görünür.

Screenshot of Choose a publishing option.

Screenshot of Choose a publishing option.

Daha genel uygulama dağıtım seçenekleriyle ilgili hızlı bir tur için bkz . Dağıtıma ilk bakış.

Azure

Azure'ı seçtiğinizde şunları seçebilirsiniz:

Screenshot of Choose an Azure service.

Screenshot of Choose an Azure service.

Azure App Service

Azure Uygulaması Hizmeti, geliştiricilerin altyapıyı korumadan hızla ölçeklenebilir web uygulamaları ve hizmetleri oluşturmalarına yardımcı olur. App Service, Azure'da bulutta barındırılan sanal makinelerde çalışır, ancak bu sanal makineler sizin için yönetilir. App Service'teki her uygulamaya benzersiz bir *.azurewebsites.net URL'si atanır; Ücretsiz dışındaki tüm fiyatlandırma katmanları siteye özel etki alanı adları atamaya izin verir.

App Service'i içeren App Service için bir fiyatlandırma katmanı veya plan seçerek bir App Service'in ne kadar bilgi işlem gücüne sahip olduğunu belirlersiniz. Fiyatlandırma katmanını değiştirmeden birden çok Web uygulamasının (ve diğer uygulama türlerinin) aynı App Service'i paylaşmasını sağlayabilirsiniz. Örneğin, geliştirme, hazırlama ve üretim Web uygulamalarını aynı App Service'te birlikte barındırabilirsiniz.

Azure Uygulaması Hizmeti ne zaman seçilir?

  • İnternet üzerinden erişilebilen bir web uygulaması dağıtmak istiyorsunuz.
  • Web uygulamanızı yeniden dağıtmanıza gerek kalmadan isteğe göre otomatik olarak ölçeklendirmek istiyorsunuz.
  • Sunucu altyapısını (yazılım güncelleştirmeleri dahil) korumak istemezsiniz.
  • Web uygulamanızı barındıran sunucularda makine düzeyinde özelleştirmeye ihtiyacınız yoktur.

Azure Uygulaması Hizmetini kendi veri merkezinizde veya diğer şirket içi bilgisayarlarda kullanmak istiyorsanız Azure Stack'i kullanarak bunu yapabilirsiniz.

App Service'te yayımlama hakkında daha fazla bilgi için bkz:

Azure Container Registry

Azure Container Registry , docker kapsayıcı görüntülerini ve yapıtlarını her tür kapsayıcı dağıtımı için özel bir kayıt defterinde oluşturmanıza, depolamanıza ve yönetmenize olanak tanır.

Azure Container Registry ne zaman seçilir?

  • Mevcut bir Docker kapsayıcı geliştirme ve dağıtım işlem hattınız olduğunda.
  • Azure'da Docker kapsayıcı görüntüleri oluşturmak istediğinizde.

Daha fazla bilgi için:

Azure Sanal Makinesi

Azure Sanal Makineler (VM) bulutta istediğiniz sayıda bilgi işlem kaynağı oluşturmanıza ve yönetmenize olanak tanır. VM'lerdeki tüm yazılım ve güncelleştirmelerin sorumluluğunu üstlenerek, bunları uygulamanızın gerektirdiği kadar özelleştirebilirsiniz. Sanal makinelere doğrudan Uzak Masaüstü üzerinden erişebilirsiniz ve her biri kendisine atanan IP adresini istediğiniz kadar korur.

Sanal makinelerde barındırılan bir uygulamayı ölçeklendirmek için isteğe göre ek VM'ler oluşturup gerekli yazılımları dağıtmanız gerekir. Bu ek denetim düzeyi, farklı genel bölgelerde farklı ölçeklendirmeler yapmanıza olanak tanır. Örneğin, uygulamanız çeşitli bölgesel ofislerde çalışanlara hizmet vermekteyse VM'lerinizi bu bölgelerdeki çalışan sayısına göre ölçeklendileyerek maliyetleri düşürebilirsiniz.

Ek bilgi için Visual Studio'daki Özel seçeneğini kullanarak dağıtım hedefi olarak kullanabileceğiniz Azure Uygulaması Hizmeti, Azure Sanal Makineler ve diğer Azure hizmetleri arasındaki ayrıntılı karşılaştırmaya bakın.

Azure Sanal Makineler ne zaman seçilir?

  • Atanan IP adreslerinin ömrü üzerinde tam denetime sahip, İnternet üzerinden erişilebilen bir web uygulaması dağıtmak istiyorsunuz.
  • Sunucularınızda özel veritabanı sistemi, belirli ağ yapılandırmaları, disk bölümleri vb. gibi ek yazılımlar içeren makine düzeyinde özelleştirmeler yapmanız gerekir.
  • Web uygulamanızın ölçeklendirmesi üzerinde ince bir denetim düzeyi istiyorsunuz.
  • Başka bir nedenle uygulamanızı barındıran sunuculara doğrudan erişmeniz gerekir.

Azure Sanal Makineler kendi veri merkezinizde veya diğer şirket içi bilgisayarlarda kullanmak istiyorsanız Azure Stack'i kullanarak bunu yapabilirsiniz.

Docker kapsayıcı kayıt defteri

Uygulamanız Docker kullanıyorsa kapsayıcılı uygulamanızı bir Docker kapsayıcı kayıt defterinde yayımlayabilirsiniz.

Docker Container Registry ne zaman seçilir?

  • Kapsayıcılı uygulama dağıtmak istiyorsunuz

Daha fazla bilgi için, aşağıdakilere bakın:

DevTest Labs

Azure DevTest Labs'e dağıtmak istiyorsanız Yayımlama aracındaki Klasör dağıtımı seçeneğini kullanın.

Tam adımlar için bkz . Azure DevTest Labs VM'sinde test için uygulama yayımlama. Bağlantılı makalede, klasör yayımlama adımları .NET Core/.NET 5+ için geçerlidir. Yönergelerin geri kalanı hem .NET hem de .NET Framework için geçerlidir. .NET Framework ClickOnce uygulamaları için Yayımlama Sihirbazı'nı kullanarak bir klasöre yayımlayabilirsiniz.

Klasör

Dosya sistemine dağıtmak, uygulamanızın dosyalarını kendi bilgisayarınızdaki belirli bir klasöre kopyalamak anlamına gelir. Bir klasöre dağıtmak çoğunlukla test amacıyla veya bilgisayar da bir sunucu çalıştırıyorsa sınırlı sayıda kişi tarafından kullanılmak üzere uygulamayı dağıtmak için kullanılır. Hedef klasör bir ağda paylaşılıyorsa, dosya sistemine dağıtmak web uygulaması dosyalarını belirli sunuculara dağıtabilecek diğer kullanıcıların kullanımına açabilir.

Visual Studio 2019 16.8'den başlayarak, klasör hedefi ClickOnce kullanarak bir .NET Windows uygulaması yayımlama özelliğini içerir.

ClickOnce ile bir .NET Windows masaüstü projesi (.NET Core 3.1, .NET 5 ve üzeri) yayımlamak istiyorsanız bkz . ClickOnce kullanarak .NET Windows uygulaması dağıtma.

Sunucu çalıştıran tüm yerel makineler, nasıl yapılandırıldığına ve bağlı olduğu ağlara bağlı olarak uygulamanızı İnternet veya intranet üzerinden kullanılabilir hale getirebilir. (Bir bilgisayarı doğrudan İnternet'e bağlarsanız, özellikle dış güvenlik tehditlerinden korumaya dikkat edin.) Bu makineleri yönettiğiniz için yazılım ve donanım yapılandırmaları tamamen sizin denetiminizdedir.

Herhangi bir nedenle (makine erişimi gibi) Azure Uygulaması Hizmeti veya Azure Sanal Makineler gibi bulut hizmetlerini kullanamıyorsanız Azure Stack'i kendi veri merkezinizde kullanabilirsiniz. Azure Stack, Azure Uygulaması Hizmeti ve Azure Sanal Makineler aracılığıyla bilgi işlem kaynaklarını yönetmenize ve kullanmanıza olanak tanırken her şeyi şirket içinde tutmanızı sağlar.

Dosya sistemi dağıtımı ne zaman seçilir?

  • Uygulamayı yalnızca başkalarının farklı sunuculara dağıtacağı bir dosya paylaşımına dağıtmanız gerekir.

  • ClickOnce kullanarak bir .NET Windows Uygulaması dağıtmak istiyorsunuz

  • Yalnızca yerel bir test dağıtımına ihtiyacınız vardır.

  • Uygulama dosyalarını başka bir dağıtım hedefine göndermeden önce bağımsız olarak incelemek ve değiştirmek istiyorsunuz.

Daha fazla bilgi için bkz . Hızlı Başlangıç - Yerel klasöre dağıtma.

ClickOnce kullanarak .NET Windows Uygulaması dağıtma hakkında daha fazla bilgi için bkz . ClickOnce kullanarak .NET Windows uygulaması dağıtma.

Ayarlarınızı seçmeye yönelik ek yardım için aşağıdakilere bakın:

FTP/FTPS sunucusu

FTP/FTPS sunucusu, uygulamanızı Azure dışında bir sunucuya dağıtmanıza olanak tanır. Diğer bulut hizmetlerindekiler de dahil olmak üzere erişiminiz olan bir dosya sistemine veya başka bir sunucuya (İnternet veya İntranet) dağıtabilir. Web dağıtımı (dosyalar veya .ZIP) ve FTP ile çalışabilir.

Bir FTP/FTPS sunucusu seçerken Visual Studio sizden profil adı ister ve ardından hedef sunucu veya konum, site adı ve kimlik bilgileri gibi ek Bağlan bilgileri toplar. Ayarlar sekmesinde aşağıdaki davranışları denetleyebilirsiniz:

  • Dağıtmak istediğiniz yapılandırma.
  • Var olan dosyaların hedeften kaldırılıp kaldırılmayacağı.
  • Yayımlama sırasında önceden derlenip derlenmeyeceği.
  • App_Data klasöründeki dosyaların dağıtımdan dışlanıp dışlanmaymayacağı.

Visual Studio'da istediğiniz sayıda FTP/FTPS dağıtım profili oluşturarak farklı ayarlarla profilleri yönetmeyi mümkün hale getirebilirsiniz.

FTP/FTPS sunucu dağıtımı ne zaman seçilir?

  • Azure dışındaki bir sağlayıcıda URL'ler aracılığıyla erişilebilen bulut hizmetlerini kullanıyorsunuz.
  • Visual Studio'da kullandığınız kimlik bilgileri dışındaki kimlik bilgilerini veya doğrudan Azure hesaplarınıza bağlı kimlik bilgilerini kullanarak dağıtmak istiyorsunuz.
  • Her dağıtımda hedeften dosya silmek istiyorsunuz.

Web Sunucusu (IIS)

IIS web sunucusu, uygulamanızı Azure dışında bir web sunucusuna dağıtmanıza olanak tanır. Diğer bulut hizmetlerindekiler de dahil olmak üzere erişiminiz olan bir IIS sunucusuna (İnternet veya İntranet) dağıtabilir. Web Dağıtımı veya Web Dağıtımı paketiyle çalışabilir.

Bir IIS web sunucusu seçerken, Visual Studio sizden bir profil adı ister ve ardından hedef sunucu veya konum, site adı ve kimlik bilgileri gibi ek Bağlan bilgileri toplar. Ayarlar sekmesinde aşağıdaki davranışları denetleyebilirsiniz:

  • Dağıtmak istediğiniz yapılandırma.
  • Var olan dosyaların hedeften kaldırılıp kaldırılmayacağı.
  • Yayımlama sırasında önceden derlenip derlenmeyeceği.
  • App_Data klasöründeki dosyaların dağıtımdan dışlanıp dışlanmaymayacağı.

Visual Studio'da istediğiniz sayıda IIS web sunucusu dağıtım profili oluşturarak farklı ayarlarla profilleri yönetmeyi mümkün hale getirebilirsiniz.

Web sunucusu (IIS) dağıtımı ne zaman seçilir?

  • URL'ler aracılığıyla erişilebilen bir site veya hizmet yayımlamak için IIS kullanıyorsunuz.
  • Visual Studio'da kullandığınız kimlik bilgileri dışındaki kimlik bilgilerini veya doğrudan Azure hesaplarınıza bağlı kimlik bilgilerini kullanarak dağıtmak istiyorsunuz.
  • Her dağıtımda hedeften dosya silmek istiyorsunuz.

Daha fazla bilgi için bkz . Hızlı Başlangıç - Web sitesine dağıtma.

IIS'de ASP.NET Core sorunlarını giderme konusunda yardım için bkz. Azure Uygulaması Service ve IIS'de ASP.NET Core sorunlarını giderme.

Profili İçeri Aktar

IIS veya Azure Uygulaması Hizmeti'ne yayımlarken bir profili içeri aktarabilirsiniz. Dağıtımı bir yayımlama ayarları dosyası (*.publishsettings) kullanarak yapılandırabilirsiniz. Yayımlama ayarları dosyası IIS veya Azure Uygulaması Hizmeti tarafından oluşturulur ya da el ile oluşturulabilir ve ardından Visual Studio'ya aktarılabilir.

Yayımlama ayarları dosyasının kullanılması, dağıtım yapılandırmasını basitleştirebilir ve her dağıtım profilini el ile yapılandırmak yerine ekip ortamında daha iyi çalışır.

İçeri aktarma profili ne zaman seçilir?

  • IIS'de yayımlıyor ve dağıtım yapılandırmasını basitleştirmek istiyorsunuz.
  • IIS veya Azure Uygulaması Hizmeti'ne yayımlıyor ve dağıtım yapılandırmasını yeniden kullanmak veya aynı hizmete yayımlamak üzere ekip üyeleri için hızlandırmak istiyorsunuz.

Daha fazla bilgi için, aşağıdakilere bakın:

.NET dağıtım ayarlarını yapılandırma

Ayarlarınızı seçmeye yönelik ek yardım için aşağıdakilere bakın:

Sonraki adımlar

Öğreticiler: