web-dev-qa-db-ja.com

実行時のASP.NETWebサイトのアセンブリはどこにありますかIIS Express

ASP.NET Webサイトでの動的コンパイルでは、ファイルの背後にあるコードがアセンブリにコンパイルされることを知っています。 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、.NET4.5です。

14
SaltProgrammer

これを参照してください: http://msdn.Microsoft.com/en-us/library/e22s60h9%28v=vs.85%29.aspx

それは本当にあなたのビンフォルダにあるはずです。

これはフレームワーク4.5の追加情報です: http://msdn.Microsoft.com/en-us/library/hh475319.aspx

5
T.S.

ごみ箱フォルダではない可能性が高いです。すべてが一時フォルダのセットにコピーされます。

私はこの問題のための方法を書きました-

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/

3
Bryan