2013-08-13 11 views
12

So che con la compilazione dinamica in un sito Web ASP.NET, il codice dietro i file viene compilato negli assembly. Dove vengono archiviate queste DLL durante l'esecuzione di IIS Express? È solo nella memoria? Non li vedo nella cartella bin o nella directory temp (C: \ Windows \ Microsoft.NET \ Framework [64] \ v4.0.30319). Generalmente li generate al momento della loro precompilazione ogni volta che pubblico. In questo caso, però, non li vedo.Dove sono gli assembly per un sito Web ASP.NET quando si esegue IIS Express

Mi manca qualcosa?

Grazie.

UPDATE:

ho visto DLL in C: \ Users \ Administrator \ AppData \ Local \ Temp file temporanei di ASP.NET \ root

\ Così sto pensando che li memorizza lì? Questo è Visual Studio 2012, .NET 4.5.

+0

vedo nella cartella bin, DLL come EntityFramework, e altri quelli di Microsoft, ma Non vedo nulla che possa rappresentare le tre pagine che ho: About.aspx, Contact.aspx, Default.aspx. Tutti loro sono quelli di default che vengono generati quando si crea un "Nuovo sito Web" predefinito in Visual Studio. – SaltProgrammer

risposta

5

Si prega di fare riferimento a questo: http://msdn.microsoft.com/en-us/library/e22s60h9%28v=vs.85%29.aspx

in realtà dovrebbe essere nella cartella Bin.

Si tratta di informazioni aggiuntive per il framework 4.5: http://msdn.microsoft.com/en-us/library/hh475319.aspx

+4

Grazie, ma non vederlo nella cartella Bin. Potrebbe essere qui? C: \ Users \ Administrator \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ root – SaltProgrammer

+0

Prova qui: C: \ Users \ \ AppData \ Local \ assembly \. Lo so, quando ho avuto un'applicazione click-on in esecuzione nel browser, le DLL sono state memorizzate lì. Ma questo è, penso, per le applicazioni in esecuzione non in IIS. Inoltre, guarda sotto inetpub. Questo sta diventando interessante ... –

+5

I file temporanei sono memorizzati in questa posizione "C: \ Users \ \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ root \ –

3

non nella cartella bin E 'molto probabile. Tutto viene copiato in una serie di cartelle temporanee.

Ho scritto un metodo proprio per questo problema -

private string[] GetAssembly(string[] assemblyNames) 
{ 
    string [] locations = new string[assemblyNames.Length]; 

    for (int loop = 0; loop <= assemblyNames.Length - 1; loop++)  
    { 
     locations[loop] = AppDomain.CurrentDomain.GetAssemblies() 
      .Where(a => !a.IsDynamic && a.ManifestModule.Name == assemblyNames[loop]) 
      .Select(a => a.Location) 
      .FirstOrDefault(); 
    } 
    return locations; 
} 

Vedi questo post che ho scritto sull'argomento - http://nodogmablog.bryanhogan.net/2015/05/finding-the-location-of-a-running-assembly-in-net/

Problemi correlati