我似乎在处理app.config和令牌文件时遇到了很多麻烦(我们使用旧版" .11"模板)。
它看起来像当前(使用ReleaseTfvcTemplate.12.xaml),它在构建之后运行标记化。
虽然我可以通过故意将.token文件复制到我的输出文件夹中来使app.config / myapp.exe.config工作(因此递归搜索找到它),但这感觉非常可怕。
作为修复,我很想将第182-230行移到第175行的RunMSBuild任务之前(在那一点创建一个新序列)
这是正确的方法还是我错过了某些文档(或模板的更高版本?)
答案 0 :(得分:2)
谢谢你们......无论如何,为了将来参考,我确实做了改变。
但是我误解了订单的确切性质,开箱即用,如下:
如果您使用的是使用app.config文件的项目类型,因为msbuild进程会在msbuild阶段重命名这些output.exe.config,因此您需要创建这个问题并不是真的有效output.exe.config(标记为copy to output)和output.exe.config.token都是如此,因此当post deploy为最终输出时,会正确配置。如果您想要标记一些mstest dll,这也是一个问题,因为这些通常也使用app.config。除非你使用web.config,否则基本上这有点乱。
我们通过使用上面建议的修改(你需要在第175行创建一个序列并将第178-230行移到序列中,这是GetBuildDirectory变量位和if语句)然后添加来解决这个问题。一个额外的部署阶段,它使用新的标记化文件复制回构建服务器,以便mstest可以针对它们运行。
所以我们的新流程如下:
快速最终说明我们不使用该构建目录变量并且它留空了我不相信如果将其设置为值,这将起作用... < / em>的
答案 1 :(得分:1)
使用Release Management替换配置文件中的变量发生在部署时而不是编译时。
当RM部署您的应用时,它会插入正确的变量。
答案 2 :(得分:1)
听起来你遇到了两个问题之一:
您需要在项目中包含.token文件,并确保将其设置为始终复制,以便将其复制到构建输出文件夹。
如果您正在构建Web应用程序,我在发布构建过程模板中看到了一个错误,该错误未触及_PublishedWebsites
文件夹的内容。我不知道它是否已在Update 4中修复,但在早期版本中它仍然是一个问题。