2013-08-13 44 views
12

Tôi biết rằng với biên dịch năng động theo một trang web ASP.NET, mã đằng sau các tập tin được biên dịch thành Assemblies. Các tệp DLL này được lưu trữ khi chạy IIS Express ở đâu? Là nó trong bộ nhớ chỉ? Tôi không thấy chúng trong thư mục bin, hoặc trong thư mục tạm thời (C: \ Windows \ Microsoft.NET \ Framework [64] \ v4.0.30319). Thông thường tôi tạo ra chúng khi biên dịch chúng bất cứ khi nào tôi xuất bản. Trong trường hợp này, mặc dù, tôi không thấy chúng.Trường hợp là hội đồng cho một trang web ASP.NET Khi chạy IIS Express

Tôi có thiếu gì đó không?

Cảm ơn.

UPDATE:

tôi đã nhìn thấy của dll trong C: \ Users \ Administrator \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ root

Vì vậy, tôi nghĩ nó sẽ lưu chúng ở đó? Đây là Visual Studio 2012, .NET 4.5.

+0

tôi thấy trong thư mục bin, DLL như EntityFramework, và những người khác của Microsoft, nhưng Tôi không thấy bất kỳ thứ gì có thể đại diện cho ba trang mà tôi có: About.aspx, Contact.aspx, Default.aspx. Tất cả chúng đều là những cái mặc định được tạo ra khi tạo một "Trang Web Mới" mặc định trong Visual Studio. – SaltProgrammer

Trả lời

5

Vui lòng tham khảo này: http://msdn.microsoft.com/en-us/library/e22s60h9%28v=vs.85%29.aspx

Nó thực sự phải ở trong thư mục Bin của bạn.

Đây là thông tin bổ sung cho khung 4.5: http://msdn.microsoft.com/en-us/library/hh475319.aspx

+4

Cảm ơn, nhưng không thấy nó trong thư mục Bin. Nó có thể ở đây không? C: \ Users \ Administrator \ AppData \ Local \ Temp \ Tệp ASP.NET tạm thời \ root – SaltProgrammer

+0

Hãy thử tại đây: C: \ Users \ \ AppData \ Local \ assembly \. Tôi biết, khi tôi đã nhấp một lần ứng dụng đang chạy trong trình duyệt, các dll được lưu trữ ở đó. Nhưng đây là, tôi nghĩ rằng, cho các ứng dụng đang chạy không trong IIS. Ngoài ra, nhìn dưới inetpub. Điều này đang trở nên thú vị ... –

+5

Tệp tạm thời được lưu trữ ở vị trí này "C: \ Users \ \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ root \ –

3

Nó có thể không phải là thư mục bin của bạn. Tất cả mọi thứ được sao chép vào một tập hợp các thư mục tạm thời.

tôi đã viết một phương pháp để chỉ vấn đề này -

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

Xem bài đăng này tôi đã viết về chủ đề này - http://nodogmablog.bryanhogan.net/2015/05/finding-the-location-of-a-running-assembly-in-net/

Các vấn đề liên quan