【问题标题】:How to get binding informations for a .Net assembly如何获取 .Net 程序集的绑定信息
【发布时间】:2011-07-07 14:56:14
【问题描述】:

我的项目的 bin 文件夹中有一个 dll,但我无法理解它为什么存在。

看起来项目不需要它,事实上,如果我删除它,应用程序运行良好。 实际上,当它在那里时,它会崩溃! :D

每次我使用 Visual Studio 2010 构建时,都会再次复制 dll。

问题是:有没有一种方法/工具可以帮助我了解谁在我的应用程序中需要这个 dll? 我的应用程序是一个 ASP.NET MVC 2 项目。

谢谢

【问题讨论】:

  • 那个 DLL 的名称是什么?
  • Microsoft.VisualStudio.Settings.dl
  • 错误是:无法加载文件或程序集“Microsoft.VisualStudio.Settings”或其依赖项之一。试图加载格式不正确的程序。没错,因为 dll 是 32bit 而我的 web app 是 64。
  • 您的项目中必须有对 32 位 dll 的引用。当您删除它时,64 位 dll 很可能是从 GAC 或 VS 路径加载的。
  • 我的项目中没有直接引用该 dll。我相信另一个参考资料需要它 - 我需要了解哪个参考资料。我的问题来了,有没有一种方法/工具可以帮助我了解谁在我的应用程序中需要这个 dll?

标签: visual-studio-2010 dll reference bin


【解决方案1】:

第一步是在 Visual Studio 中为构建启用诊断日志:

Tools > Options > Projects and Solutions > Build and Run

然后选择

MSBUild project build output verbosity : Diagnostic

这将为您的输出文件夹提供完整的日志。所以我可以得到这些信息:

C:\MyApplication\bin\Microsoft.VisualStudio.Settings.dll
C:\MyApplication\bin\Microsoft.VisualStudio.Settings.dll
    ResolvedFrom = C:\Program Files (x86)\Microsoft Visual Studio 2010 SDK\VisualStudioIntegration\Common\Assemblies\v4.0
    CopyLocal = true
    FusionName = Microsoft.VisualStudio.Settings, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    HintPath = \\Microsoft\WF4\Microsoft.VisualStudio.ActivityPack.Data.dll
    OriginalItemSpec = Microsoft.VisualStudio.ActivityPack.Data
    Version = 10.0.0.0

这告诉我 Microsoft.VisualStudio.ActivityPack.Data.dll 需要 Microsoft.VisualStudio.Settings.dll

另一个有用的工具是 fuslogvw.exe(包含在 VS 中)。它为您提供有关程序集起源的完整信息。有关此工具的更多信息here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 1970-01-01
    • 2017-02-16
    相关资源
    最近更新 更多