Visual Studio 2012 将 DLL 发布为其他项目的工件

Visual Studio 2012 Publish DLL as artifact for other project

我有两个应用程序,彼此使用一些 DLL。 1st App 在解决方案中有 8 个 DLL 项目和 1 个 Winforms 项目 第二个应用程序在解决方案中有 4 个 DLL 项目和 1 个 Winforms 项目

App1 使用了 App2 的 5 个 DLL 项目,App2 使用了 App1 的 2 个 DLL 项目。

ATM 我将 DLL 从一个 App 复制到另一个 App 的 Lib 文件夹并引用它。但是我改东西的时候必须重新复制。

有没有简单的解决方案,我可以在没有 Team Solution 的情况下将它放在 FileShare 上?

当 TS 是唯一的方式时,最佳实践是什么。

问候 Lord_Pinhead

嗯,我猜你有三种可能的解决方案。

  • 并排

如果您想保持应用程序的便携性,您可以设置并排实现。创建一个核心文件夹将共享 DLL 放在那里,然后在该路径中引用它们。记得关闭复制本地。

问题

请记住,如果重新拉取源代码并且找不到核心文件夹,则会出现问题。

  • Nuget

此解决方案比并行实施需要更多的努力,但可能是最佳解决方案 https://blogs.msdn.microsoft.com/mvpawardprogram/2016/06/28/creating-nuget-packages/

  • GAC

此解决方案的问题是您的应用程序将不再便携。

https://msdn.microsoft.com/en-us/library/yf1d93sz(v=vs.110).aspx

您可以创建一个 postbuild 脚本来将 dll 复制到所需的文件夹或其他应用程序文件夹:

看看Msdn Doc