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.
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.
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.
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