app.config中的TFS构建和绝对路径

时间:2012-10-17 16:34:52

标签: build tfs path tfsbuild

首先,我想为我的英语道歉,这不是我的第一语言! 我在TFS Build(2010)的精彩世界中总共n00b,我遇到了问题。 我将尝试使用一个简单的例子向您解释(但我的实际情况要复杂得多)。

我有一个带有控制台应用程序“MyApp1”的项目,它在我的计算机上的位置是“D:\ MyProjets \ MyApp1”。 我有另一个项目“Res”,它只包含资源,包括一个名为emailTemplate.html的文件。

我的项目“MyApp1”使用此文件。因此,在“App.config”文件中有一个存储此资源路径的键:“D:\ MyProjets \ Res \ emailTemplate.html”

最后,我对该应用程序“MyApp1”进行了测试。此测试检查是否已发送电子邮件。要发送电子邮件“MyApp1”将需要文件“emailTemplate.html”,并将使用配置文件中的密钥来查找它。

当我在计算机上运行测试时:一切正常。

但是如果我用TFS Build构建解决方案,那么在运行测试时我遇到了这个资源的问题。在构建期间,源文件被复制到目录中(例如“D:\ Build \ 1 \ My build projet \ Sources \ MyProjets \ Res”,因此“MyApp1”将在“D”中查找“emailTemplate.html” :\ MyProjets \ Res \ emailTemplate.html“(配置文件),当然也无法找到它。

我该怎么办?

我已经知道我的项目不应该以这种方式使用资源,但我们现在几乎不可能改变它,因为这是我们在公司工作一段时间的方式......

我考虑过修改BuildProcessTemplate以强制Build服务器在Res项目上运行getLatest,正好在我想要的地方。但我不知道这是不是一个好主意,或者它是否可能......

非常感谢你的帮助! :)

1 个答案:

答案 0 :(得分:1)

编辑构建定义以在工作区中包含“Res”项目目录。它应该在每次构建时自动下载/更新(如果你使用任何默认的流程模板),只要你在测试中使用相对路径就可以了。