2013-08-13 7 views
12

Ich weiß, dass bei der dynamischen Kompilierung unter einer ASP.NET-Website Code hinter Dateien in Assemblys kompiliert wird. Wo werden diese DLLs gespeichert, wenn IIS Express ausgeführt wird? Ist es nur in der Erinnerung? Ich sehe sie nicht im bin-Ordner oder im temporären Verzeichnis (C: \ Windows \ Microsoft.NET \ Framework [64] \ v4.0.30319). Normalerweise erzeuge ich sie, wenn ich sie vorkompiliere, wenn ich sie veröffentliche. In diesem Fall sehe ich sie jedoch nicht.Wo sind die Assemblies für eine ASP.NET-Website Wenn IIS Express ausgeführt wird

Fehle ich etwas?

Danke.

UPDATE:

Ich habe DLL unter C: \ Benutzer \ Administrator \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ root

So dachte ich es ihnen dort speichert? Dies ist Visual Studio 2012, .NET 4.5.

+0

ich im Ordner bin zu sehen, die DLL wie EntityFramework und andere Microsoft sind, aber Ich sehe keine, dass das die drei Seiten darstellen könnte, die ich habe: About.aspx, Contact.aspx, Default.aspx. Bei allen handelt es sich um Standardeinstellungen, die beim Erstellen einer Standard "Neuen Website" in Visual Studio generiert werden. – SaltProgrammer

Antwort

5

Bitte beachten Sie folgendes: http://msdn.microsoft.com/en-us/library/e22s60h9%28v=vs.85%29.aspx

Es ist wirklich in Ihrem Bin-Ordner sein sollte.

Diese zusätzlichen Informationen für Framework 4.5: http://msdn.microsoft.com/en-us/library/hh475319.aspx

+4

Danke, aber ich sehe es nicht im Bin-Ordner. Könnte es hier sein? C: \ Benutzer \ Administrator \ AppData \ Local \ Temp \ Temporäre ASP.NET-Dateien \ root – SaltProgrammer

+0

Versuchen Sie es hier: C: \ Users \ \ AppData \ Local \ assembly \. Ich weiß, wenn ich einmal klicken Anwendung im Browser ausgeführt wurde, wurden DLLs dort gespeichert. Aber das ist, denke ich, für Anwendungen, die nicht in IIS laufen. Schau auch unter inetpub nach. Das wird interessant ... –

+5

Temporäre Dateien werden an diesem Ort gespeichert "C: \ Benutzer \ \ AppData \ Local \ Temp \ Temporäre ASP.NET-Dateien \ root \ –

3

Es ist ziemlich wahrscheinlich nicht Ihre Ordner sind. Alles wird in eine Reihe von temporären Ordnern kopiert.

Ich schrieb ein Verfahren für gerade dieses Problem -

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; 
} 

Sehen Sie diesen Beitrag habe ich über das Thema geschrieben - http://nodogmablog.bryanhogan.net/2015/05/finding-the-location-of-a-running-assembly-in-net/