Soru Açık dosyalara ihtiyacım var mı?


Uygulamamı yayınladığımda oluşturulan iki manifest dosyasına ihtiyacım olup olmadığını merak ediyorum. Onları sildiğimde çalışır. İhtiyaç duyulması halinde, (Proje> Uygulama> Gömülü bildirimi varsayılan ayarlarla) gömmeye çalıştım ama yine de dışardayız.

Onlar: (appname).exe.manifest ve (appname).application.


18
2017-11-29 10:50


Menşei




Cevaplar:


Bildiri dosyası, uygulamanızın nasıl çalışması gerektiğini açıklar. itibaren MSDN:

Her montaj, ister statik ister dinamik olsun, derleme içindeki öğelerin birbiriyle nasıl ilişkili olduğunu açıklayan bir veri topluluğunu içerir. Montaj bildirimi bu derleme meta verilerini içerir. Bir montaj bildirimi, derlemenin sürüm gereksinimlerini ve güvenlik kimliğini ve derlemenin kapsamını tanımlamak ve kaynaklara ve sınıflara yapılan başvuruları çözümlemek için gereken tüm meta verileri belirtmek için gereken tüm meta verileri içerir. Derleme bildirimi, Microsoft ara dili (MSIL) koduyla bir PE dosyası (.exe veya .dll) veya yalnızca montaj bildirimi bilgilerini içeren bağımsız bir PE dosyasında depolanabilir.

Bu yüzden onları silmek, muhtemelen uygulamanızın Vista ve ötesindeki varsayılan olarak yükseltilmiş olarak çalıştırılmasını istiyorsanız, muhtemelen yanlış bir şeydir.

İşte Başvurunuzdaki bildirimi gömmek için kullanılan mt aracının kullanımıyla ilgili MSDN'den ayrıntılar verilmiştir.

Ayrıca not gerçekten ilginç bir konu Vista'daki manifestin önbelleğe alınması ve bunun ötesinde gerçek bir yakalamaya benziyor.


14
2017-11-29 11:32





Ayrıca, VS2003 kullanıldığında ve denetimlerinizi XP arabirimine daha çok benzetmek istediğinizde, bildirim uygulamanızla birlikte kullanılan uygun sürüm 6.x ile ortak denetimleri içerecektir, ardından GUI " eski clunky windows 2000 kontrolleri yerine XP'nin güncellenmiş görünümü ve hissi. Bu nedenle, manifest'in bir kaynak olarak gömülmesini sağlayabilirsiniz, böylece bir manifest dosyasının etrafına takılmak zorunda kalmazsınız (tamam, oldukça küçük bir dosyadır), ancak yine de, uygulama dağıtımını daha da kolaylaştırır.

Ayrıca, .NET 1.1 çalışma zamanında (şimdi 2.0+ sürümünde) bir hata oluştu. Burada, bir manifest uygulamanızın kullanıldığı durumlarda GUI'yi daha fazla bir görünüm ve his vermek için güncellemeyi başaramazsınız. Aradaki geçici çözüm aramaktı Application.DoEvents bir şey yapmadan önce Application.Run (yeni form ()); 

Şimdi Vista ve Win 7 ile, manifesto UAC etrafında almak için yükseltilmiş izinler belirtmek için kullanılır, böylece Vista / Win 7 bir UAC iletişim kutusunu açmak zorunda kalma şansını en aza indirir.


5
2017-11-29 11:41



BTW, onları nasıl yerleştirebiliriz? - Petr
UAC iletişim kutusunun görünme olasılığını en aza indirmez - uygulama İHTİYAÇLARININ yönetici ayrıcalıklarını belirtirseniz her zaman görünmesini sağlar (çoğu yok, lütfen bunu yapmayın). - Zooba
Sadece bir EXE edilebilir dosya (ve ayar dosyası) dağıtmak istiyorum ... nasıl ortaya çıkabilir? Uygulamadaki seçenek bunu yapmaz. - Petr
VS'deki çözüm explorer'ınızdan, manifest dosyasını buna eklemeniz, projenize sağ tıklamanız, Add (Ekle) ve ardından Application Manifest File (Uygulama Manifest Dosyası) seçeneğini tıklamanız, app.manifest olarak adlandırmanız gerekir. Bu dosyaya sağ tıklayın ve özellikleri seçin, Oluşturma seçeneklerine bakın, açılır menüyü tıklayın ve Gömülü Kaynak'ı seçin. Umarım bu yardımcı olur, Tom :) - t0mm13b
Tom, teşekkürler, ama bu dosyalar yayınlanırken hala mevcut :( Uygulama> Embed manifestiyle kullanıyorum. - Petr


Gerekli amacıyla 

Derlemenin sürüm gereksinimlerini ve güvenlik kimliğini belirterek,   ve tanımlamak için gereken tüm meta veriler   montajın kapsamı ve çözümü   kaynaklara ve sınıflara referanslar


1
2017-11-29 11:30