Aracılığıyla paylaş


Komut satırından .NET ClickOnce uygulamaları oluşturma

Visual Studio'da, tümleşik geliştirme ortamında (IDE) oluşturulmuş olsalar bile komut satırından projeler oluşturabilirsiniz. Aslında, Visual Studio ile oluşturulan bir projeyi yalnızca .NET 5 veya üzeri yüklü olan başka bir bilgisayarda yeniden oluşturabilirsiniz. Bu özellik, örneğin merkezi bir derleme laboratuvarında otomatik bir işlem kullanarak veya projenin kendisini oluşturma kapsamının ötesinde gelişmiş betik teknikleri kullanarak bir derlemeyi yeniden oluşturmanıza olanak tanır.

Dekont

Komut satırından .NET Framework ClickOnce uygulamaları oluşturmak için bkz . Komut satırından ClickOnce uygulamaları derleme.

.NET ClickOnce uygulama dağıtımlarını yeniden oluşturmak için MSBuild kullanma

Komut satırında çağırdığınızda msbuild /target:publish , bu komut MSBuild sistemine projeyi oluşturmasını ve yayımlama klasöründe bir ClickOnce uygulaması oluşturmasını emreder. Bu komut, IDE'de Yayımla komutunun seçilmesiyle eşdeğerdir.

Bu komut, Visual Studio komut istemi ortamındaki yolda bulunan msbuild.exe dosyasını yürütür.

"Hedef", msbuild komutunun nasıl işlendiğine ilişkin bir göstergedir. Temel hedefler "derleme" hedefi ve "yayımlama" hedefidir. Derleme hedefi, IDE'de Derleme komutunu seçmeye (veya F5 tuşuna basmaya) eşdeğerdir. Yalnızca projenizi oluşturmak istiyorsanız girebilirsiniz msbuild. Derleme hedefi Visual Studio tarafından oluşturulan tüm projeler için varsayılan hedef olduğundan bu komut çalışır. Sonuç olarak, derleme hedefini açıkça belirtmeniz gerekmez. Bu nedenle, girmek msbuild , girmekle msbuild /target:buildaynı işlemdir.

komutu MSBuild'e /target:publish yayımlama hedefini çağırmasını söyler. Yayımlama hedefi derleme hedefini temel alır ve bu da yayımlama işleminin derleme işleminin üst kümesi olduğu anlamına gelir. Örneğin, Visual Basic veya C# kaynak dosyalarında değişiklik yaptıysanız yayımlama işlemi ilgili derlemeyi otomatik olarak yeniden oluşturur.

ClickOnce bildiriminizi oluşturmak için Mage.exe komut satırı aracını kullanarak tam ClickOnce dağıtımı oluşturma hakkında bilgi için bkz . İzlenecek yol: ClickOnce uygulamasını el ile dağıtma.

MSBuild ile temel bir ClickOnce uygulaması oluşturma ve oluşturma

Yayımlama profili oluşturmanın en kolay yolu Visual Studio'yu kullanmaktır. MSBuild ile yayımlamak için bir yayımlama profili gereklidir.

ClickOnce projesi oluşturma ve yayımlama

  1. Visual Studio'yu açın ve yeni bir proje oluşturun.

    Windows Forms Uygulaması veya WPF Uygulaması proje şablonunu seçin ve projeyi CmdLineDemoadlandırın ve projeyi oluşturun.

  2. Çözüm Gezgini'da projeye sağ tıklayın ve Yayımla'yı seçin.

    Bu adım, projenin bir ClickOnce uygulama dağıtımı üretmek için düzgün bir şekilde yapılandırılmasını sağlar.

    Yayımla sayfası görüntülenir.

  3. Yayımla sayfasında Yayımlama profili ekle'yi, ClickOnce'u ve ardından Son'u seçin.

    Bu alıştırma için Yayımla sayfasındaki diğer yapılandırma ayarlarını yoksayabilirsiniz.

  4. İşlem tamamlandıktan sonra, Sayfayı yayımla iletişim kutusundan çıkmak için Kapat'ı seçin.

  5. Yayımla'yı seçin.

    Visual Studio, ClickOnce dağıtım çıkışını oluşturur.

  6. Projenizi kaydedin ve depolandığı klasör konumunu not edin.

    Yukarıdaki adımlar, ilk kez yayımlanmış bir ClickOnce projesi oluşturur. Artık derlemeyi IDE dışında yeniden oluşturabilirsiniz.

Derlemeyi komut satırından yeniden oluşturma

  1. Visual Studio'dan çıkın.

  2. Windows Başlat menüsünde Araçlar>Komut satırı>Geliştirici Komut İstemi'ni seçin.

    Visual Studio Geliştirici Komut İstemi açılır.

  3. Visual Studio Komut İstemi'nde, geçerli dizinin daha önce oluşturduğunuz projenin konumunu gösterdiğinden emin olun.

    Proje dizininde çalışmıyorsanız, istediğiniz konuma geçmek için bir komut girin, örneğin chdir C:\Users\username\source\repos\CmdLineDemo.

  4. Önceki bölümde oluşturulan mevcut dosyaları kaldırmak için girinrmdir /s publish.

    Bu adım isteğe bağlıdır, ancak komut satırı derlemesinin tüm yeni dosyaları üretmesini sağlar.

    .NET 5 ve üzeri için, komut satırından .NET ClickOnce uygulamaları oluşturmak benzer bir deneyimdir. Tek fark, MSBuild komut satırında yayımlama profili için ek bir özellik sağlamanız gerektiğidir.

  5. msbuild /target:publish /p:PublishProfile=<pubxml file> /p:PublishDir="<specific location>" girin.

    Yukarıdaki adımlar, projenizin publish adlı alt klasöründe tam bir ClickOnce uygulaması dağıtımı oluşturur. CmdLineDemo.application , ClickOnce dağıtım bildirimidir. CmdLineDemo_1.0.0.0 klasörü, ClickOnce uygulama bildirimi olan CmdLineDemo.exe ve CmdLineDemo.exe.manifest dosyalarını içerir. Kurulum.exe önyükleyicidir ve varsayılan olarak .NET'i yükleyecek şekilde yapılandırılır. Bu klasördeki dosyalar, uygulamanızı web üzerinden veya UNC veya CD/DVD aracılığıyla dağıtmak için ihtiyacınız olan tüm dosya kümesini içerir.

Dekont

MSBuild sistemi, çıktının konumunu belirtmek için PublishDir seçeneğini kullanır, örneğin msbuild /t:publish /p:PublishProfile=<pubxml file> /p:PublishDir="<specific location>".

Yayımlama işlemi çıktısı

MSBuild, derleme yapıtları da dahil olmak üzere derleme çıkış konumunu ayarlamak için özelliğini kullanır PublishDir . MSBuild'in PublishDir yayımlama için hedef olarak kullandığı değer varsayılan olarak .pubxml dosyasındaki (.NET) özelliğinden PublishDir alınır. Bu davranışı MSBuild komut satırında anahtarı kullanarak /p da geçersiz kılabilirsiniz. Ayarı geçersiz kılarsanız yayımlama çıkışı belirtilen konuma gider. Çıkış, yayımlamanın MSBuild adımı sırasında oluşturulur. Bu kopya yapıldıktan sonra çalıştırılan herhangi bir MSBuild hedefi AfterTargets="ClickOncePublish" .

PublishUrl özelliği, aksinePublishDir, MSBuild adımında kullanılmaz. PublishUrl komut satırından yayımlamak için MSBuild'i doğrudan çağırdığınızda yoksayılır.

Visual Studio IDE'de Yayımlama başlatıldığında, Visual Studio yapıtları PublishDir konumda yayımlamak için MSBuild'i çağırır. Bu MSBuild adımı tamamlandıktan sonra Visual Studio, ClickOnce'a özgü dosyaları tarafından PublishUrlişaret edilen konuma yayımlar. Bu ikinci adım Visual Studio işleminin içinde çalışır. Bu bir Visual Studio işlemi olduğundan, bu adım sırasında çalıştırılacak herhangi bir hedef/görev ekleyemezsiniz.

Visual Studio kullanmayan MSBuild dağıtımları için dağıtım dizinindeki tüm dosyaları dağıtım hedefine veya medyaya kopyalayın. Dağıtım dizini bir web sitesindeki veya FTP sitesindeki bir klasör, dosya paylaşımı veya CD-ROM olabilir. Örneğin, ClickOnce dosyalarını kopyalamak için bir üçüncü taraf aracı veya özel bir MSBuild görevi kullanabilirsiniz.

Klasördeki PublishUrl herhangi bir işlem sonrası için ayrı bir betiğiniz olması gerekir.

Önemli

ile aynı konuma PublishUrlayarlanırsaPublishDir, yinelenen derleme çıktısı PublishUrl konuma kopyalanır. Yeni bir profil oluşturarak Visual Studio 2022 sürüm 17.4 ve sonraki sürümlerde bu sorundan kaçınabilirsiniz. Yeni profil, konumundan PublishUrlfarklı bir konuma ayarlarPublishDir. Yayımlama işleminin sonunda, ilgili ClickOnce dosyaları konumundan konumuna PublishDirPublishUrl kopyalanır.

Yayımlama özellikleri

Önceki yordamları kullanarak uygulamayı yayımladığınızda, .NET projeleri (.NET 5 ve üzeri) için yayımlama profili dosyasına aşağıdaki özellikler eklenir. Bu özellikler ClickOnce uygulamasının nasıl üretildiğini doğrudan etkiler.

.pubxml içinde:

<AssemblyOriginatorKeyFile>WindowsApplication3.snk</AssemblyOriginatorKeyFile>
<GenerateManifests>true</GenerateManifests>
<TargetZone>LocalIntranet</TargetZone>
<PublisherName>Microsoft</PublisherName>
<ProductName>CmdLineDemo</ProductName>
<PublishUrl>http://localhost/CmdLineDemo</PublishUrl>
<Install>true</Install>
<ApplicationVersion>1.0.0.*</ApplicationVersion>
<ApplicationRevision>1</ApplicationRevision>
<UpdateEnabled>true</UpdateEnabled>
<UpdateRequired>false</UpdateRequired>
<UpdateMode>Foreground</UpdateMode>
<UpdateUrlEnabled>false</UpdateUrlEnabled>
<IsWebBootstrapper>true</IsWebBootstrapper>
<BootstrapperEnabled>true</BootstrapperEnabled>

Bu özellikleri, proje dosyasının kendisini değiştirmeden komut satırında geçersiz kılabilirsiniz. Örneğin, aşağıdaki kod önyükleyici olmadan ClickOnce uygulama dağıtımını oluşturur:

msbuild /target:publish /p:PublishProfile=<pubxml file> /property:BootstrapperEnabled=false

Yayımlama özellikleri Visual Studio'da Project Tasarım Aracı Yayımlama, Güvenlik ve İmzalama özellik sayfalarından denetlenmektedir. .NET projeleri (.NET 5 ve üzeri) için bu ayarlar, Yayımla aracını kullanarak Visual Studio'da erişebileceğiniz pubxml dosyasında sağlanır.

Aşağıdaki yayımlama özellikleri, uygulama tasarımcısının çeşitli özellik sayfalarında ayarlanır.

  • AssemblyOriginatorKeyFile ClickOnce uygulama bildirimlerinizi imzalamak için kullanılan anahtar dosyasını belirler. Bu anahtar, derlemelerinize tanımlayıcı bir ad atamak için de kullanılabilir. Bu özellik, Project Tasarım Aracı İmzalama sayfasında ayarlanır. .NET windows uygulamaları için bu ayar proje dosyasında kalır.

Yayımla sayfasında aşağıdaki özellikler ayarlanır:

  • PublishUrl , uygulamanın IDE'de yayımlandığı konumdur. Hem hem de özelliği belirtilmemişse ClickOnce uygulama bildirimine InstallUrlUpdateUrl eklenir.

  • ApplicationVersion ClickOnce uygulamasının sürümünü belirtir. Sürüm dört basamaklı bir sayıdır. Son basamak bir "*" (yıldız işareti) ise , ApplicationRevision derleme zamanında bildirime eklenen değerle değiştirilir.

  • ApplicationRevision düzeltmeyi belirtir. Bu değer, IDE'de her yayımladığınızda artan bir tamsayıdır. Komut satırında gerçekleştirilen derlemeler için otomatik olarak artırılmaz.

  • Install uygulamanın yüklü bir uygulama mı yoksa Web'den çalıştırılan bir uygulama mı olduğunu belirler.

  • InstallUrl (gösterilmez), kullanıcıların uygulamayı yüklediği konumdur. Belirtilirse, özellik etkinse bu değer setup.exe önyükleyicisine IsWebBootstrapper yazdırılır. Belirtilmezse uygulama bildirimine UpdateUrl de eklenir.

  • SupportUrl(gösterilmez), yüklü bir uygulamanın Program Ekle/Kaldır iletişim kutusunda bağlantılı konumdur.

Aşağıdaki özellikler, Yayımla sayfasından erişilen Uygulama Güncelleştirmeler iletişim kutusunda ayarlanır.

  • UpdateEnabled uygulamanın güncelleştirmeleri denetlemesi gerekip gerekmediğini gösterir.

  • UpdateMode Ön plan güncelleştirmelerini belirtir. .NET projeleri (.NET 5 ve üzeri) için Arka plan desteklenmez.

  • UpdateUrl (gösterilmez), uygulamanın güncelleştirmeleri aldığı konumdur. Belirtilirse, bu değer uygulama bildirimine eklenir.

Yayımla sayfasından erişilenYayımlama Seçenekleri iletişim kutusunda aşağıdaki özellikler ayarlanır.

  • PublisherName , uygulamayı yüklerken veya çalıştırırken gösterilen istemde görüntülenen yayımcının adını belirtir. Yüklü bir uygulama için, Başlat menüsünde klasör adını belirtmek için de kullanılır.

  • ProductName , uygulamayı yüklerken veya çalıştırırken gösterilen istemde görüntülenen ürünün adını belirtir. Yüklü bir uygulama için, Başlat menüsünde kısayol adını belirtmek için de kullanılır.

Aşağıdaki özellikler, Yayımla sayfasından erişilen Önkoşullar iletişim kutusunda ayarlanır.

  • BootstrapperEnabledsetup.exe önyükleyicisinin oluşturulup oluşturulmayacağını belirler.

  • IsWebBootstrappersetup.exe önyükleyicisinin Web üzerinden mi yoksa disk tabanlı modda mı çalıştığını belirler.

Seçenekleri kullanma: InstallURL, SupportUrl, PublishURL, UpdateURL

Aşağıdaki tabloda ClickOnce dağıtımı için dört URL seçeneği gösterilmektedir.

URL seçeneği Açıklama
PublishURL ClickOnce uygulamasını bir web sitesinde yayımlamak için gereklidir.
InstallURL isteğe bağlı. Yükleme sitesi değerinden PublishURLfarklıysa bu URL seçeneğini ayarlayın. Örneğin, öğesini PublishURL bir FTP yolu olarak ve bir web URL'si InstallURL olarak ayarlayabilirsiniz.
SupportURL isteğe bağlı. Destek sitesi değerinden PublishURLfarklıysa bu URL seçeneğini ayarlayın. Örneğin, öğesini şirketinizin müşteri desteği web sitesine ayarlayabilirsiniz SupportURL .
UpdateURL isteğe bağlı. Güncelleştirme konumu değerinden InstallURLfarklıysa bu URL seçeneğini ayarlayın. Örneğin, öğesini PublishURL bir FTP yolu olarak ve bir web URL'si UpdateURL olarak ayarlayabilirsiniz.