2012-10-17 73 views
1

首先,我想爲我的英語道歉,這不是我的第一語言! 我在TFS Build(2010)的精彩世界裏總共有100萬人,而且我遇到了問題。 我會盡量用一個簡單的例子向你解釋(但我的實際情況要複雜得多)。TFS Build和絕對路徑在app.config

我有一個控制檯應用程序「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

編輯您的構建定義以在工作區中包含「Res」項目目錄。它應該在每次構建時自動下載/更新(如果您使用任何默認過程模板),並且只要您在測試中使用相對路徑,就應該沒問題。

+0

我在使用相對路徑時仍然遇到問題。因此,我修改了進程模板文件:在「獲取工作區」任務後,我添加了一個任務,將所需的資源複製到指定的目錄中。 – remsrock