0

我编写了一个执行 MSBUILD.exe 的 Nant 脚本,以在我的开发机器上编译一个项目。在我的开发机器上,项目将其输出构建到 bin\x86\Release 并且我的 Nant 脚本压缩了该目录的内容。然后我将所有内容提交给 SVN 并让 TeamCity 运行执行 MSBUILD.exe 的 Nant 脚本来编译项目并压缩输出,但输出是在 bin\Release 中创建的,并且 zip 文件是空的,因为它在 bin\x86\ 中查找释放。为什么会这样?

当我在 VS.NET 2008 中更改配置和平台时,我没有看到项目文件在更改时亮起。这些设置是否存储在项目文件、解决方案文件或用户配置文件中,因此不会传递到构建服务器?

4

2 回答 2

1

快速修复:您可以使用标志 /property:OutDir=bin\x86\Release

您必须找到造成这种情况的根本原因。可能配置不正确。您可以将配置显式更改为 /p:Configuration=Release

于 2009-04-03T21:02:07.827 回答
1

您确定 ${project.config} 在本地环境和 TeamCity 环境中都指向同一个地方吗?

代理并不总是以 sem 环境变量作为本地机器运行。所以我会开始检查所有属性,看看它们在本地机器和 TeamCity 中指向的位置。

至于 /p:Configuration=${project.config},您只能运行一个配置,但您可以使用 ; 指定更多属性 它们之间:

/p:Configuration=${project.config};OutDir=bin\x86\Release

于 2009-04-05T10:25:41.663 回答