Asp.net

執行 IIS Express 時 ASP.NET 網站的程序集在哪裡

  • August 29, 2016

我知道通過 ASP.NET 網站下的動態編譯,文件背後的程式碼被編譯成程序集。執行 IIS Express 時,這些 DLL 儲存在哪裡?它只存在於記憶體中嗎?我在 bin 文件夾或臨時目錄(C:\Windows\Microsoft.NET\Framework

$$ 64 $$\v4.0.30319)。通常我會在發佈時預編譯它們時生成它們。但是,在這種情況下,我看不到它們。 我錯過了什麼嗎?

謝謝。

更新:

我確實在 C:\Users\Administrator\AppData\Local\Temp\Temporary ASP.NET Files\root 下看到了 dll

所以我認為它將它們儲存在那裡?這是 Visual Studio 2012,.NET 4.5。

請參考:http: //msdn.microsoft.com/en-us/library/e22s60h9%28v=vs.85%29.aspx

它確實應該在您的 Bin 文件夾中。

這是框架 4.5 的附加資訊:http: //msdn.microsoft.com/en-us/library/hh475319.aspx

它很可能不是您的 bin 文件夾。一切都被複製到一組臨時文件夾中。

我為這個問題寫了一個方法 -

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

請參閱我在該主題上寫的這篇文章 - http://nodogmablog.bryanhogan.net/2015/05/finding-the-location-of-a-running-assembly-in-net/

引用自:https://stackoverflow.com/questions/18200650