如何避免在 Web 发布中发布库文件夹?

How can I avoid publishing the library folder in a Web Publish?

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

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

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

编辑: 对不起,如果我给出了一个糟糕的解释(和原始标题)。我改了标题;这是 "Where should static libraries (3rd party DLLs) be kept in Visual Studio?",现在是 "How can I avoid publishing the library folder in a Web Publish?"

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

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

我已经为这些库尝试了各种构建操作设置和其他 属性 设置,但均未成功。

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

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

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

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

等等。

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

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