1

首先,我想为我的英语道歉,这不是我的第一语言!在 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 以强制构建服务器在我想要的 Res 项目上运行 getLatest。但我不知道这是否是个好主意,或者是否有可能......

非常感谢你的帮助 !:)

4

1 回答 1

1

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

于 2012-10-17T17:31:40.963 回答