Nasıl yapılır: Tanımlayıcı ad atlama özelliğini devre dışı bırakma
.NET Framework sürüm 3.5 Service Pack 1 (SP1) ile başlayarak, bölge için MyComputer
varsayılan AppDomain gibi bir derleme tam güven AppDomain nesnesine yüklendiğinde tanımlayıcı ad imzaları doğrulanmaz. Bu, tanımlayıcı ad atlama özelliği olarak adlandırılır. Tam güven ortamında, imzalarından bağımsız olarak imzalanmış, tam güven derlemeleri için her zaman başarılı olmaları gerekir StrongNameIdentityPermission . Tek kısıtlama, bölgesine tam olarak güvenildiği için derlemeye tam olarak güvenilmesidir. Bu koşullar altında tanımlayıcı ad belirleyici bir faktör olmadığından, doğrulanması için bir neden yoktur. Tanımlayıcı ad imzalarının doğrulanması önemli performans geliştirmeleri sağlar.
Atlama özelliği, gecikmeli imzalı olmayan ve özelliği tarafından belirtilen dizinden herhangi bir tam güvene yüklenen tüm tam güven AppDomain derlemeleri ApplicationBase için geçerlidir.
Bir kayıt defteri anahtarı değeri ayarlayarak bilgisayardaki tüm uygulamalar için atlama özelliğini geçersiz kılabilirsiniz. Bir uygulama yapılandırma dosyası kullanarak tek bir uygulamanın ayarını geçersiz kılabilirsiniz. Kayıt defteri anahtarı tarafından devre dışı bırakılmışsa, tek bir uygulama için atlama özelliğini yeniden devreye alamazsınız.
Atlama özelliğini geçersiz kıldığınızda, tanımlayıcı ad yalnızca doğruluk için doğrulanır; için denetlenmedi StrongNameIdentityPermission. Belirli bir tanımlayıcı adı onaylamak istiyorsanız, bu denetimi ayrı olarak gerçekleştirmeniz gerekir.
Önemli
Tanımlayıcı ad doğrulamasını zorlama özelliği, aşağıdaki yordamda açıklandığı gibi bir kayıt defteri anahtarına bağlıdır. Bir uygulama, bu kayıt defteri anahtarına erişim denetim listesi (ACL) izni olmayan bir hesap altında çalışıyorsa, ayar etkisizdir. Tüm derlemeler için okunabilmesi için bu anahtar için ACL haklarının yapılandırıldığından emin olmanız gerekir.
Tüm uygulamalar için tanımlayıcı ad atlama özelliğini devre dışı bırakma
32 bit bilgisayarlarda, sistem kayıt defterinde, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ altında adlı
AllowStrongNameBypass
0 değerine sahip bir DWORD girdisi oluşturun. NETFramework anahtarı.64 bit bilgisayarlarda, sistem kayıt defterinde, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ altında adlı
AllowStrongNameBypass
0 değerine sahip bir DWORD girdisi oluşturun. NETFramework ve HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\. NETFramework anahtarları.
Tek bir uygulama için tanımlayıcı ad atlama özelliğini devre dışı bırakma
Uygulama yapılandırma dosyasını açın veya oluşturun.
Bu dosya hakkında daha fazla bilgi için Uygulamaları yapılandırma bölümündeki Uygulama Yapılandırma Dosyaları bölümüne bakın.
Şu girdiyi ekleyin:
<configuration> <runtime> <bypassTrustedAppStrongNames enabled="false" /> </runtime> </configuration>
Yapılandırma dosyası ayarını kaldırarak veya özniteliğini true
olarak ayarlayarak uygulamanın atlama özelliğini geri yükleyebilirsiniz.
Not
Bir uygulama için tanımlayıcı ad doğrulamasını yalnızca bilgisayar için atlama özelliği etkinse açıp kapatabilirsiniz. Atlama özelliği bilgisayar için kapatılmışsa, tüm uygulamalar için tanımlayıcı adlar doğrulanır ve tek bir uygulama için doğrulamayı atlayamazsınız.