代码之家  ›  专栏  ›  技术社区  ›  flipdoubt

为什么nant驱动的msbuild在不同的机器上编译到不同的目录?

  •  0
  • flipdoubt  · 技术社区  · 16 年前

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

    当我在vs.net 2008中对配置和平台进行更改时,我不会看到项目文件变亮。这些设置是否存储在项目文件、解决方案文件或用户配置文件中,因此不会转移到生成服务器?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Michael Larionov    16 年前

    快速修复:可以使用标志/属性:outdir=bin\x86\release

    你必须找到这一切的根本原因。可能配置不正确。您可以将配置显式更改为/p:configuration=release

        2
  •  1
  •   haqwin    16 年前

    您确定$project.config在本地和团队城市环境中指向相同的位置吗?

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

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

    /p:configuration=$project.config outdir=bin\x86\release

    推荐文章