Perché i nomi forti sono facoltativi?

7

Perché il c # consente al progetto di non essere strongmente firmato quando vengono creati? Possono essere firmati da un file di nomi automatico se il programmatore non sceglie il proprio file di firma (suo). Dov'è il vantaggio del file .dll non firmato?

Quali sono i nomi sicuri?

Sto lavorando su un progetto che utilizza file C # .dll in Microsoft Dynamics AX. Se il file .dll ha il nome sicuro è facile da usare. Se non il divertimento inizia.

Se il file .dll non ha un nome sicuro

  1. Non puoi installarlo facilmente su gacutil

  2. Non puoi utilizzarlo come riferimento quando costruisci un progetto con un nome sicuro.

  3. Può portare a Inferno DLL

Vedo solo svantaggi del progetto senza nomi forti, quindi voglio sapere se mi manca vedere qualcosa o ci sono alcune conseguenze storiche difficili perché sono ancora consentiti. Voglio sapere se c'è qualche vantaggio nel usarli.

Dovrebbe essere possibile aggiungere nome sicuro nel file .dll senza compilazione ma non ero in grado di usarlo perché finisco dopo che provo a usare ILASM.exe con" Il programma può " t start perché fusion.dll è mancante dal tuo computer, prova a reinstallare il programma per risolvere questo problema. " anche se fusion.dll è nel sistema (abbiamo deciso di utilizzare un approccio diverso, quindi non ho tempo per ulteriori tentativi su questa soluzione.)

    
posta boucekv 23.05.2014 - 08:03
fonte

1 risposta

7

Alcuni motivi per NON firmare un assembly:

  1. Poiché l'assembly firmato può caricare solo altri assembly firmati. - Un vero problema se ti affidi alle librerie 3d di partito.
  2. Quando il progetto è firmato, è necessario disporre delle versioni, quindi non è possibile utilizzare i collegamenti diretti tra i progetti nella stessa soluzione o sarà necessario ricompilare l'applicazione per poter utilizzare una versione diversa.
  3. A parte l'ovvio inconveniente, ci sono anche alcuni problemi di prestazioni (non significativi) a causa della verifica della firma. (Se sei interessato a conoscere in modo approfondito il problema delle prestazioni, leggi qui il nome sicuro di Richard Grimes

P.S. C #: perché firmare un assembly?

    
risposta data 23.05.2014 - 15:48
fonte

Leggi altre domande sui tag