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:build
aynı 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
Visual Studio'yu açın ve yeni bir proje oluşturun.
Windows Forms Uygulaması veya WPF Uygulaması proje şablonunu seçin ve projeyi
CmdLineDemo
adlandırın ve projeyi oluşturun.Çö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.
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.
İşlem tamamlandıktan sonra, Sayfayı yayımla iletişim kutusundan çıkmak için Kapat'ı seçin.
Yayımla'yı seçin.
Visual Studio, ClickOnce dağıtım çıkışını oluşturur.
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
Visual Studio'dan çıkın.
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.
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
.Önceki bölümde oluşturulan mevcut dosyaları kaldırmak için girin
rmdir /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.
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 PublishUrl
iş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 PublishUrl
ayarlanı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 PublishUrl
farklı bir konuma ayarlarPublishDir
. Yayımlama işleminin sonunda, ilgili ClickOnce dosyaları konumundan konumuna PublishDir
PublishUrl
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 bildirimineInstallUrl
UpdateUrl
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ükleyicisineIsWebBootstrapper
yazdırılır. Belirtilmezse uygulama bildirimineUpdateUrl
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.
BootstrapperEnabled
setup.exe önyükleyicisinin oluşturulup oluşturulmayacağını belirler.IsWebBootstrapper
setup.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 PublishURL farklı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 PublishURL farklı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 InstallURL farklıysa bu URL seçeneğini ayarlayın. Örneğin, öğesini PublishURL bir FTP yolu olarak ve bir web URL'si UpdateURL olarak ayarlayabilirsiniz. |
İlgili içerik
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin