【发布时间】:2011-06-09 00:41:53
【问题描述】:
是否有任何方法可以检查 .Net 程序集所需的所有依赖项是否已满足?它在生产服务器上,并且没有安装 Visual Studio。
这是一个 .Net 程序集,需要安装包中未包含的一些 GAC:ed 组件。
【问题讨论】:
标签: .net assemblies dependencies
是否有任何方法可以检查 .Net 程序集所需的所有依赖项是否已满足?它在生产服务器上,并且没有安装 Visual Studio。
这是一个 .Net 程序集,需要安装包中未包含的一些 GAC:ed 组件。
【问题讨论】:
标签: .net assemblies dependencies
【讨论】:
另一种方法是在具有相同 CPU 位数的另一台机器上安装 Windows 调试工具,然后将安装文件夹复制到此服务器。然后你可以在其中使用WinDbg轻松解决此类问题。当然,这对初学者来说并不容易。
【讨论】:
对于NDepend 代码库,我们在 GAC 中没有特定的依赖关系。但是 NDepend 会在每次 NDepend 执行时检查所有程序集是否在安装中部署良好。这样,如果用户调整了安装(确实发生了,我们注意到了),他会得到一个智能消息框,准确地解释发生了什么以及为什么他应该重新部署 NDepend。由于这个技巧,我们节省了很多支持。
我们的实现只是基于Mono.Cecil,它会检查所有程序集是否都存在于它应有的位置,并具有正确的程序集版本。使用 Mono.Cecil 对汇编进行浅读非常快,因此不会减慢启动时间。
【讨论】: