1

我们已经建立了定义,它正在构建解决方案并根据需要将二进制文件复制到输出目录。但是当我向解决方案添加一个新项目时,新项目的二进制文件不会复制到构建输出文件夹中。

添加新项目时是否需要对构建定义进行任何更改,因为如果我对现有项目进行任何更改,则构建输出会根据更改正确更新。每当将新项目添加到解决方案中时,我是否需要执行任何刷新操作来构建定义?

4

2 回答 2

2

您可以检查几件事。

源代码管理中的文件夹是否映射到构建定义的工作区?可能是源没有被带到构建服务器。如果您的解决方案中没有其他项目对丢失的项目有任何依赖关系,您将不会看到任何错误。

要检查的另一件事是您设置要构建的配置。在您的构建定义中检查构建过程中的配置(例如“Release”、“Any CPU”)。然后在 Visual Studio 中打开您的解决方案并在解决方案资源管理器中右键单击解决方案,选择“配置管理器”并确保存在相同的配置,如果它确实确保项目设置为针对该配置构建。

于 2012-05-24T21:13:54.617 回答
0

我认为获得效果的唯一方法是,如果您实际上是在构建定义中构建另一个 *.sln。

如果您使用相同的 sln 并且所有内容都已构建,则没有理由不复制新程序集的二进制文件。
如果由于某种原因源不可用,您的构建将失败。

编辑
(在评论“我们没有使用此构建定义构建任何其他解决方案。它正在成功构建解决方案”之后)

我认为您需要分享一些额外的信息。
您是说在您的构建代理中,您会在Sources两者下看到:

C:\Builds\1...\Sources\SolutionName\OldProject\bin\"Config"\OldProject.dll
C:\Builds\1...\Sources\SolutionName\NewProject\bin\"Config"\NewProject.dll

Binaries只有在

C:\Builds\1...\Binaries\"Config"\OldProject.dll 下?

于 2012-05-23T08:30:57.110 回答