如何找到哪个.NET项目引用正在传递加载另一个程序集?

时间:2011-04-15 09:07:28

标签: c# .net assemblies

我有一个项目,我正在尝试部署到另一台PC,但安装失败,因为它需要在GAC中安装一个程序集。但是该程序集(System.ServiceModel.DomainServices.Hosting 4.0.0.0)与我的项目无关,所以我试图删除它和加载它的直接引用。

我的项目 - 直接依赖于 - > 未知引用 - 间接依赖于 - > System.ServiceModel。 DomainServices.Hosting 4.0.0.0

如何找出项目中哪些直接引用是间接加载这个无用的DomainServices程序集?我无法通过反射看到这样做的方法......

(这是一个普遍的问题,但如果它有助于我在.NET 4.0,Visual Studio 2010和ClickOnce上使用C#来部署项目。)

2 个答案:

答案 0 :(得分:6)

您可以尝试启用Fusion Logging,这样您就可以查看所有组件加载失败。

Back to Basics: Using Fusion Log Viewer to Debug Obscure Loader Errors

答案 1 :(得分:0)

尝试使用Reflector找到它。另请注意,Assembly类有一个GetReferencedAssemblies方法,因此您也应该能够通过反射找到它。