Komut satırından ClickOnce uygulamalarını derleme
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 Framework'ün yüklü olduğu 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 ClickOnce uygulamaları oluşturmak için bkz . Komut satırından .NET ClickOnce uygulamaları derleme.
.NET Framework 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ı (.NET Framework) veya WPF Uygulaması (.NET Framework) proje şablonunu seçin ve projeyi
CmdLineDemo
adlandırın.Oluştur menüsünde Yayımla komutunu 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ımlama Sihirbazı görüntülenir.
Yayımlama Sihirbazı'nda Son'u seçin.
Visual Studio, Publish.htm adlı varsayılan web sayfasını oluşturur ve görüntüler.
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.
msbuild /target:publish
girin.Yukarıdaki adımlar, projenizin Yayımla 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 Framework'ü yükleyecek şekilde yapılandırılır. DotNetFX klasörü .NET Framework için yeniden dağıtılabilir dosyaları içerir. Bu konumdaki 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: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 proje dosyasındaki PublishDir
(.NET Framework) özelliğinden alınır. Anahtarı kullanarak /p
MSBuild komut satırında bu davranışı 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
Uygulamayı önceki yordamları kullanarak yayımladığınızda, Yayımlama Sihirbazı tarafından proje dosyanıza aşağıdaki özellikler eklenir. Bu özellikler ClickOnce uygulamasının nasıl üretildiğini doğrudan etkiler.
CmdLineDemo.vbproj / CmdLineDemo.csproj 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>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdateUrlEnabled>false</UpdateUrlEnabled>
<IsWebBootstrapper>true</IsWebBootstrapper>
<BootstrapperEnabled>true</BootstrapperEnabled>
.NET Framework projeleri için, proje dosyasının kendisini değiştirmeden komut satırında bu özellikleri geçersiz kılabilirsiniz. Örneğin, aşağıdaki kod önyükleyici olmadan ClickOnce uygulama dağıtımını oluşturur:
msbuild /target:publish /property:BootstrapperEnabled=false
Yayımlama özellikleri Visual Studio'da Project Tasarım Aracı Yayımlama, Güvenlik ve İmzalama özellik sayfalarından denetlenmektedir.
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.
Güvenlik sayfasında aşağıdaki özellikler ayarlanır:
ClickOnce Güvenliği'nin etkinleştirilmesi Ayarlar ClickOnce bildirimlerinin oluşturulup oluşturulmadığını belirler. Bir proje ilk oluşturulduğunda, ClickOnce bildirim oluşturma varsayılan olarak kapalıdır. İlk kez yayımladığınızda sihirbaz bu bayrağı otomatik olarak açar.
TargetZone , ClickOnce uygulama bildiriminize yayılacak güven düzeyini belirler. Olası değerler "İnternet", "LocalIntranet" ve "Özel" değerleridir. Internet ve LocalIntranet, ClickOnce uygulama bildiriminize varsayılan izin kümesinin yayılmasına neden olur. LocalIntranet varsayılandır ve temelde tam güven anlamına gelir. Özel, yalnızca base app.manifest dosyasında açıkça belirtilen izinlerin ClickOnce uygulama bildirimine dağıtılması gerektiğini belirtir. app.manifest dosyası, yalnızca güven bilgisi tanımlarını içeren kısmi bir bildirim dosyasıdır. Güvenlik sayfasında izinleri yapılandırdığınızda projenize otomatik olarak eklenen gizli bir dosyadı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 veya Arka plan güncelleştirmelerini belirtir.UpdateInterval
uygulamanın güncelleştirmeleri ne sıklıkta denetlemesi gerektiğini belirtir.UpdateIntervalUnits
değerinUpdateInterval
saat, gün veya hafta cinsinden olup olmadığını belirtir.UpdateUrl
(gösterilmez), uygulamanın güncelleştirmeleri aldığı konumdur. Belirtilirse, bu değer uygulama bildirimine eklenir.
Yayımla sayfasından erişilen Yayı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. |