我的项目包含以下文件夹结构:
ThirdParty
v1
Common.Dependency.dll
Solution
Project A
Project B
Project C
所有项目输出都复制到共享bin文件夹。
所有项目都是从v1引用Common.Dependency.dll。
当新版本的Common.Dependency.dll可用时 - v2。 作为新手,我不知道所有项目都引用了ThirdParty的相同程序集。 我只是在我的项目(项目A)中添加新版本和更新参考路径。
现在我不知道将哪个程序集复制到解决方案输出中。 是否有任何VS插件,检查或构建阶段工具解决此类问题? 我希望在这种情况下看到构建失败。
答案 0 :(得分:1)
您应该更改所有3个项目的引用,否则它们只是继续使用旧的dll。这意味着,如果'Copy Local'设置为true,则每个项目都会将dll复制到共享bin目录。这意味着当项目A引用v2 dll,B和C引用v1 dll,而B或C构建在A之后,v1 dll最后被复制到共享目录,从而覆盖v2 dll。请注意,如果新程序集中的函数/类具有不同的签名,则只会出现构建问题。
你可以做几件事: