Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Visual Studio'da ClickOnce dağıtımı, bir uygulamanın nasıl güncelleştirileceklerini yapılandırmanıza olanak tanır. Ancak, gelişmiş ClickOnce dağıtım özelliklerini kullanmak ve özelleştirmek istiyorsanız, tarafından System.Deployment.Applicationsağlanan dağıtım nesnesi modeline erişmeniz gerekir. API'leri System.Deployment.Application aşağıdaki gibi gelişmiş görevler için kullanabilirsiniz:
Uygulamanızda "Şimdi Güncelleştir" seçeneği oluşturma
Çeşitli uygulama bileşenlerinin koşullu, isteğe bağlı indirmeleri
Doğrudan uygulamaya entegre edilmiş güncellemeler
İstemci uygulamasının her zaman up-to-date olduğunu garanti etme
API'ler System.Deployment.Application yalnızca bir uygulama ClickOnce teknolojisiyle dağıtıldığında çalıştığından, hata ayıklamanın tek yolu uygulamayı ClickOnce kullanarak dağıtmak, buna iliştirmek ve sonra hata ayıklamaktır. Hata ayıklayıcıyı eklemeden önce bu kod genellikle uygulama başlatıldığında ve yürütülürken çalıştığından, hata ayıklayıcıyı yeterince erken eklemek zor olabilir. Çözüm, güncelleştirme denetim kodunuz veya isteğe bağlı kodunuz öncesinde kesmeler (veya Visual Basic projeleri için duraklar) yerleştirmektir.
Önerilen hata ayıklama tekniği aşağıdaki gibidir:
Uyarı
ApplicationDeployment Ad alanı içindeki System.Deployment.Application sınıf ve API'ler .NET Core ve .NET 5 ve sonraki sürümlerde desteklenmez. .NET 7'de, uygulama dağıtım özelliklerine erişmek için yeni bir yöntem desteklenir. Daha fazla bilgi için bkz. .NET'te ClickOnce dağıtım özelliklerine erişme. .NET 7, ApplicationDeployment yöntemlerinin eşdeğerini desteklemez.
Başlamadan önce sembol (.pdb) dosyalarının ve kaynak dosyalarının arşivlenmiş olduğundan emin olun.
Uygulamanın 1. sürümünü dağıtın.
Yeni bir boş çözüm oluşturun. Dosyamenüsünden Yeni'yi ve ardından Proje'yi seçin. Yeni Proje iletişim kutusunda Diğer Proje Türleri düğümünü açın ve Visual Studio Çözümleri klasörünü seçin. Şablonlar bölmesinde Boş Çözüm'e tıklayın.
Arşivlenen kaynak konumu bu yeni çözümün özelliklerine ekleyin. Çözüm Gezgini'nde çözüm düğümüne sağ tıklayın ve Özellikler'i seçin. Özellik Sayfaları iletişim kutusunda Kaynak Dosyalarda Hata Ayıkla'yı seçin ve arşivlenen kaynak kodun dizinini ekleyin. Aksi takdirde, kaynak dosya yolları .pdb dosyasına kaydedildiğinden hata ayıklayıcı güncel olmayan kaynak dosyaları bulur. Hata ayıklayıcı güncel olmayan kaynak dosyaları kullanıyorsa, kaynağın eşleşmediğini belirten bir ileti görürsünüz.
Hata ayıklayıcının .pdb dosyalarını bulabileceğinden emin olun. Dosyaları uygulamanızla dağıttıysanız, hata ayıklayıcı bunları otomatik olarak bulur. Her zaman önce söz konusu derlemenin yanında görünür. Aksi takdirde, arşiv yolunu sembol dosyası konumları listenize eklemeniz gerekir.
Araçlar (veya Hata Ayıklama) >Seçenekleri bölmesini açın ve Tüm Ayarlar>Hata Ayıklama>Simgeleri> bölümünü genişletin. Simge dosyası (.pdb) konumları listesinde öğe ekleyin, sırayı değiştirin veya kaldırın.
Araçlar (veya Hata Ayıklama) >Seçenekleri iletişim kutusunu açın ve Hata Ayıklama>Simgeleri bölümünü genişletin. Simge dosyası (.pdb) arama konumları listesinden öğe ekleyin, sırayı değiştirin veya kaldırın.
CheckForUpdateveDownload/Updatemetot çağrıları arasında ne gerçekleştiğini hata ayıkla.Örneğin, güncelleştirme kodu aşağıdaki gibi olabilir:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If My.Application.Deployment.IsNetworkDeployed Then If (My.Application.Deployment.CheckForUpdate()) Then My.Application.Deployment.Update() Application.Restart() End If End If End SubSürüm 2'yi dağıtın.
2. sürüm için bir güncelleştirme indirirken hata ayıklayıcıyı sürüm 1 uygulamasına eklemeyi deneme. Alternatif olarak,
System.Diagnostics.Debugger.Breakyöntemini veya Visual Basic'te yalnızcaStopkullanabilirsiniz. Elbette, bu yöntem çağrılarını üretim kodunda bırakmamalısınız.Örneğin, bir Windows Forms uygulaması geliştirdiğinizi ve içinde güncelleştirme mantığı olan bu yöntem için bir olay işleyiciniz olduğunu varsayalım. Bunun hatalarını ayıklamak için düğmeye basmadan önce iliştirin, ardından bir kesme noktası ayarlayın (uygun arşivlenmiş dosyayı açtığınızdan ve kesme noktasını orada ayarladığınızdan emin olun).
IsNetworkDeployed YALNıZCA uygulama dağıtıldığında API'leri çağırmak System.Deployment.Application için özelliğini kullanın; API'ler Visual Studio'da hata ayıklama sırasında çağrılamamalıdır.