0

在我當前的.Net 4.0解決方案中,我有一個包含大量XML文件作爲嵌入式資源的項目。這些文件有很多開發活動,我的團隊中的一位開發人員很可能會忘記將特定XML文件的構建操作設置爲嵌入式資源。在Visual Studio和Team Build中爲嵌入式資源創建自動測試?

我已經做了什麼來確保這種情況沒有發生,並且完美適用於VS2010中的本地構建,那就是在NUnit中創建一個自動化測試,使用Assembly.GetManifestResourceNames()來計算資源數量,然後將其與文件數量在我的資源組件的正確的源目錄子樹中。只要這些匹配,就意味着所有文件都具有正確設置爲「嵌入資源」的構建操作。

現在,我的問題是,我的測試使用相對路徑來查找資源項目中的文件的目錄和生成服務器(它使用TFS2010)上的工作目錄是不一樣的。

解決此問題的最佳方法是什麼?我曾想過使用環境變量,這些變量可以在開發人員機器和構建服務器上以不同方式設置,但理想情況下,我希望在開發人員計算機和構建服務器上需要最少量的配置。

回答

2

好吧,這是我結束瞭解決方案:

  1. 的測試檢查使用Environment.GetEnvironmentVariable特定的環境變量,如果沒有設置使用了在使用Visual Studio 2010開發機器工作的相對路徑,否則它使用環境變量中的路徑

  2. 對於構建服務器(團隊構建),我爲構建過程設置了一個參數以等於環境變量,然後在我的NUnit任務中,我將NUnit環境變量設置爲值的構建參數。

該解決方案使建立新的開發人員機器無憂無慮,但如果他們偏離默認路徑設置,則可能需要一些配置代理構建代理。

相關問題