2009-08-06 10 views
2

J'ai récemment remarqué, que lorsque je commence notre application assez grosse, il y a toujours deux assemblées chargées personne ne sait ce qu'elles sont. Chaque fois que je commence à déboguer l'application, les deux assemblys sont nommés différemment.Qu'est-ce que cet assemblage et pourquoi est-il là?

Par exemple, la dernière fois que je suis arrivé cette sortie (il est en allemand, mais vous le faire):

... 
"start.vshost.exe" (Verwaltet): "C:\Windows\assembly\GAC_MSIL\System.Web.Services\2.0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert. 
"start.vshost.exe" (Verwaltet): "aslf4pbc" wurde geladen 
... 
"start.vshost.exe" (Verwaltet): "inyuae-m" wurde geladen 
"start.vshost.exe" (Verwaltet): "C:\Windows\assembly\GAC_MSIL\Microsoft.JScript\8.0.0.0__b03f5f7f11d50a3a\Microsoft.JScript.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert. 
"start.vshost.exe" (Verwaltet): "C:\Windows\assembly\GAC_MSIL\Microsoft.Vsa\8.0.0.0__b03f5f7f11d50a3a\Microsoft.Vsa.dll" wurde geladen 
... 

aslf4pbc? Inyuae-m?

J'ai jeté un oeil à Assembly.CurrentDomain.GetAssemblies() pour obtenir plus d'informations.

Voici quelques informations des 2 ensembles:

CodeBase/EscapedCodeBase:

"file:///C:/Windows/assembly/GAC_MSIL/system/2.0.0.0__b77a5c561934e089/System.dll" 

Lieu:

"" 

GlobalAssemblyCache

false 

ManifestModule

inyuae-m.dll respectively aslf4pbc.dll 

ManifestModule.FullyQualifiedName

"<Unbekannt>"/"<Unknown>" 

ManifestModule.Name

"<Unbekannt>"/"<Unknown>" 

Je n'ai pas pu trouver inyuae-m.dll et aslf4pbc.dll dans le système de fichiers.

Il n'y a aucune information sur l'emplacement, il semble tout à fait étrange pour moi. Des idées? Ou suis-je juste manquer quelque chose?

L'application est assez ancienne, elle a été développée avec .Net 2.0, mais certaines parties plus récentes utilisent .Net 3.5 et se composent d'environ 25 assemblages.

Répondre

5

Ce sont les noms donnés aux assemblages temporaires transitoires créés par diverses API dans le cadre pour implémenter la génération de code d'exécution.

Xml La sérialisation fait cela quand ils n'ont pas été pré-générés par exemple.

Si vous voulez vraiment savoir saisir les fichiers (que le débogueur est attaché si vous le souhaitez afin de pouvoir y accéder) et les décompiler avec réflecteur.

Les internes devraient vous donner une bonne idée de ce qui a déclenché leur création.

3

Ce sont les assemblages transitoires générés par ex. code intégré à une page dans une application ASP.Net (ou même partout où des assemblys sont générés à la volée lors de l'exécution).

Questions connexes