5

我正在尝试对项目进行快速而肮脏的部署。我认为运行我的进程会很容易,使用一些工具来获取所有已加载文件 (DLL) 的列表,并使用该列表为我的测试部署创建一个副本文件列表。

考虑过使用 filemon,但那里有很多噪音。它是一个.net 项目。

谢谢。

4

5 回答 5

1

进程浏览器?

于 2009-12-29T20:36:17.027 回答
0

您应该能够使用 .NET 的反射来分析您的应用程序 AppDomain(s) 并转储已加载程序集和位置的列表。

var loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (var assembly in loadedAssemblies)
{
    Console.WriteLine(assembly.GetName().Name);
    Console.WriteLine(assembly.Location);
}
于 2009-12-29T20:02:44.767 回答
0

查看AppDomain.GetAssemblies

For Each Ass As Reflection.Assembly In CurrentDomain.GetAssemblies()
    Console.WriteLine(Ass.ToString())
Next
于 2009-12-29T20:05:43.437 回答
0

这已经在另一个问题中得到了回答。

它的要点是使用当前的 appdomain 来获取程序集列表并遍历它们的加载器位置。

于 2009-12-29T20:06:40.733 回答
0

如果我理解了您的问题,要进行快速部署,您可以在项目的所有引用中进行设置,但框架将“复制本地”设置为 true。

这样,当您构建应用程序时,您将在输出目录中拥有所有需要的 DLL(好吧,几乎所有引用所需的引用都不会自动复制,因此最好也将它们添加为本地引用)。

希望这可以帮助。如果没有,请说出原因,我将尝试继续。

于 2009-12-30T13:54:36.513 回答