我正在尝试对项目进行快速而肮脏的部署。我认为运行我的进程会很容易,使用一些工具来获取所有已加载文件 (DLL) 的列表,并使用该列表为我的测试部署创建一个副本文件列表。
考虑过使用 filemon,但那里有很多噪音。它是一个.net 项目。
谢谢。
我正在尝试对项目进行快速而肮脏的部署。我认为运行我的进程会很容易,使用一些工具来获取所有已加载文件 (DLL) 的列表,并使用该列表为我的测试部署创建一个副本文件列表。
考虑过使用 filemon,但那里有很多噪音。它是一个.net 项目。
谢谢。
进程浏览器?
您应该能够使用 .NET 的反射来分析您的应用程序 AppDomain(s) 并转储已加载程序集和位置的列表。
var loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (var assembly in loadedAssemblies)
{
Console.WriteLine(assembly.GetName().Name);
Console.WriteLine(assembly.Location);
}
For Each Ass As Reflection.Assembly In CurrentDomain.GetAssemblies()
Console.WriteLine(Ass.ToString())
Next
这已经在另一个问题中得到了回答。
它的要点是使用当前的 appdomain 来获取程序集列表并遍历它们的加载器位置。
如果我理解了您的问题,要进行快速部署,您可以在项目的所有引用中进行设置,但框架将“复制本地”设置为 true。
这样,当您构建应用程序时,您将在输出目录中拥有所有需要的 DLL(好吧,几乎所有引用所需的引用都不会自动复制,因此最好也将它们添加为本地引用)。
希望这可以帮助。如果没有,请说出原因,我将尝试继续。