0

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

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

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

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

谢谢

4

1 回答 1

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

Another helpful tool is fuslogvw.exe (included in VS). It gives you full informations about an assembly origins. More informations about this tool here.

于 2011-07-08T14:29:07.027 回答