The Artima Developer Community
Sponsored Link

.NET Buzz Forum
C#: Feststellen ob eine Assembly signiert wurde (strong named)

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
-

Posts: 1524
Nickname: nitronic
Registered: Jul, 2006

Norbert Eder works as a software architect.
C#: Feststellen ob eine Assembly signiert wurde (strong named) Posted: Jul 9, 2007 1:06 PM
Reply to this message Reply

This post originated from an RSS feed registered with .NET Buzz by -.
Original Post: C#: Feststellen ob eine Assembly signiert wurde (strong named)
Feed Title: Norbert Eder - Living .NET
Feed URL: http://feeds.feedburner.com/NorbertEder-Livingnet
Feed Description: Copyright (c)2005, 2006 by Norbert Eder
Latest .NET Buzz Posts
Latest .NET Buzz Posts by -
Latest Posts From Norbert Eder - Living .NET

Advertisement
Wurde eine Anwendung signiert, dann müssen ebenfalls alle referenzierten Assemblies signiert, also strong named, sein. Aussnahme: Assemblies werden zur Laufzeit geladen. In diesem Fall muss diese nicht signiert sein. Wie kann man nun aber feststellen, ob eine Assembly signiert wurde oder nicht? Hier ein kurzes Code-Beispiel:
Assembly asm = Assembly.GetAssembly( typeof( TheType) );
if (asm != null)
{
    AssemblyName assembly = asm.GetName();
    byte[] key = assembly.GetPublicKey();
    bool isSigned = key.Length > 0;
    Console.WriteLine("Is signed: {0}", isSigned);
}

Dies kann sehr nützlich sein, wenn beispielsweise Plugins geladen werden, die jedoch signiert sein sollten. Hier gilt es jedoch aufzupassen: Wird eine Assembly in die aktuelle Anwendungsdomäne geladen, kann die Assembly nicht mehr explizit entladen werden. Es empfiehlt sich daher, die Assembly über einen Remote-Proxy in eine eigene Anwendungsdomäne zu laden, auf Signierung hin zu überprüfen und bei Bedarf (also falls nicht signiert), die neue Domäne wieder zu entladen.

Read: C#: Feststellen ob eine Assembly signiert wurde (strong named)

Topic: ASP.NET: Die PostBack-Falle Previous Topic   Next Topic Topic: Die unterschiedlichen IDbParameter-Implementierungen

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use