1

如何验证应用程序的所有依赖项都位于文件夹中(而不是 GAC 中)?

例如,我们有一个应用程序 A,它有四个依赖项:B、C、D、E。

构建后我们有一个文件夹:

\ForDeployment\A.exe
\ForDeployment\B.dll
\ForDeployment\E.dll

由于某种原因,文件夹中没有两个程序集(C 和 D)。

如何确定文件夹中缺少哪些程序集?我们正在寻找可以在每次构建时启动的代码或命令行工具。

编辑:

更改“复制本地”设置不相关,因为:

  • 我有一百个解决方案。任何开发人员随时都可能将此设置更改为错误的设置(或使用“Copy local”="false" 添加新的依赖项)。我正在寻找的工具也应该可以解决这个问题

  • 位于 GAC 中的依赖项永远不会被复制到结果文件夹(在 VS2010 中)

4

2 回答 2

1

只需将Copy Local设置true为相关依赖项即可。这样您就可以确保在本地拥有该程序集的副本。

于 2013-01-21T17:40:47.277 回答
0

您可以执行以下操作:

if(!FileExist)
     Output message "Missing File"

每次启动程序时,只需对每个依赖文件执行此操作即可。但我只是按照 Gabe 在评论中的建议,在所有依赖项上将 Copy Local 设置为 true。

于 2013-01-21T17:40:05.820 回答