使用 msbuild 和大型解决方案防止所有复制操作

Shi*_*umi 5 .net msbuild

我会立即承认我完全不熟悉 msbuild,并希望我没有问一个愚蠢的问题。

我们有一个大型 .NET 解决方案,其中包含大约 316 个项目。在构建过程中,将 DLL 从一个文件夹复制到下一个文件夹似乎占用了大量构建时间(我认为,这样它们就可用于解析引用?)。有没有一种方法可以指示 MSBuild 将每个项目的输出文件放入一个文件夹中以避免需要这样做?这似乎是一件明智的事情,因为最终我们将最终结果从最终输出文件夹中复制出来,而所有其他中间 DLL 都被浪费了。

KMo*_*raz 4

通过覆盖该属性是可能的OutDir。例如:

msbuild your.sln /p:Configuration=Release;OutDir="C:\SomeFolder\Release" /m
Run Code Online (Sandbox Code Playgroud)

此外,您可以禁用引用的 CopyLocal 设置以加快构建过程。