【问题标题】:How can I avoid publishing the library folder in a Web Publish?如何避免在 Web Publish 中发布库文件夹?
【发布时间】:2015-11-19 04:16:07
【问题描述】:

我已将二进制文件移动到项目的 bin 文件夹下,以避免两次发布相同的二进制文件,因为其中一个二进制文件很大;即 15MB。

这最初位于单独的 Includes 文件夹中。所以文件被复制两次到发布文件夹。

bin 文件夹是放置这些的正确位置还是我应该采取其他步骤?

编辑: 对不起,如果我给出了一个糟糕的解释(和原始标题)。我改了标题;这是“静态库(第 3 方 DLL)应保存在 Visual Studio 中的什么位置?”,现在是“如何避免在 Web Publish 中发布库文件夹?”

如前所述,我最初有一个名为 Includes 的单独文件夹。当我进行 Web 发布时,每个 DLL 都会发布两次;一个进入 bin 文件夹,另一个进入 Includes 文件夹。在这种情况下,我至少要发布额外的 15MB 不必要的文件空间。通常,没什么大不了的,但如果我的连接速度很慢,我需要等待更长时间才能将项目部署到其环境中。

我将 DLL 移回了一个单独的文件夹,但该文件夹仍与 bin 输出文件夹一起发布。我这样做是为了看看这些文件的放置是否会以不同的方式设置它们的属性。

我已经尝试了这些库的 Build Action 和其他属性设置的各种设置,但均未成功。

有没有办法将 DLL 发布两次?

【问题讨论】:

  • 在与发布文件夹分开的文件夹中.. 除了它的偏好。由于您问题的偏好方面,您的问题可能会以“基于意见”的方式结束。
  • 请查看编辑更新。抱歉解释不佳。

标签: visual-studio bin-folder


【解决方案1】:

如果这些文件是系统整体源代码的一部分(不一定是源代码,但仍是源代码控制跟踪的工件),那么您可能不想保留它们在构建的输出文件夹中。输出文件夹应该是临时的,不应在源代码管理中进行跟踪。

将第 3 方库保存在库文件夹中。源代码管理中的文件夹结构可能如下所示:

/
--/lib
--/Project1
----/SomeSubFolder
--/Project2
----/Images
----/Styles

等等。

每个Project 在编译时都会有自己的bin 文件夹,该文件夹本身可能包含用于编译类型(发布、调试等)的其他文件夹。但是您不希望在源代码管理中跟踪这些构建工件或以任何方式干扰源代码管理中的内容。

项目将引用它们的库依赖项,并且在构建时这些依赖项将被复制到输出文件夹以供应用程序运行时使用。

【讨论】:

  • 请参阅编辑。我试图避免两次发布库文件。谢谢。
  • @Ruge:文件没有被“发布”两次。它们作为代码使用的工件存在于源代码管理中,并且它们作为正在运行的进程使用的工件存在于构建输出中。两者有不同的用途,不应混用。 (尝试混合它们,或者基本上跨越源输出和构建输出之间的边界,只是在自找麻烦。)如果磁盘空间如此受限以至于 15MB 是一个问题,那么您将非常接近遇到比这更大的问题。
猜你喜欢
  • 2013-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-31
  • 1970-01-01
相关资源
最近更新 更多