2011-05-13 31 views
2

我的公司正在轉向使用Jenkins進行持續集成。 我們將代碼保存在Subversion中。我們在C#中編寫代碼(好吧,其他人使用php)。從msbuild生成的代碼中運行nUnit出Jenkins

我碰到了一個障礙,當我編譯項目時,我無法讓nUnit工作。

我的項目是一個非常簡單的只有一個類和幾個nUnit測試。 在Visual Studio中正常工作。它的構建和我可以運行NUnit控制檯來測試代碼。

我可以使用Jenkins從Subversion提取項目 然後我可以用msBuild構建代碼。 但是,當我嘗試從NUnit控制檯運行NUnit時,我得知nunit.framework.dll丟失。

nunit.framework.dll中是在C:\ Program Files文件(x86)的\ NUnit的2.5.10 \ BIN \ NET-2.0 \框架

我認爲這是尋找nunit.framework.dll中是由項目引用。向項目添加NUnit測試需要哪一個。

我注意到,從Visual Studio中將nunit.framework.dll複製到bin文件夾時。 我注意到沒有bin的內容存儲在Subversion中。 我必須將nunit.framework.dll的副本放到 C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ Profile \ Client 中,這樣msBuild才能找到它。

如何在使用Jenkins和msBuild時將nunit.framework.dll放入輸出bin文件夾中?

我已經查看了一些帖子,但沒有解決這一點。

任何想法都會受到歡迎。 謝謝, 理查德

回答

2

在您引用nunit.framework.dll中的測試項目,右鍵單擊它並選擇屬性(或者按Alt + Enter鍵),並Copy LocalTrue

enter image description here

+0

謝謝。這是一個標準設置,所以我已經有了這個設置。 – Richard210363 2011-05-16 09:19:19

0

默認情況下,Subversion不存儲輸出文件(即dll)。我重建了該項目並添加了nunit.framework.dll來顛覆。這樣它就會被Jenkins彈出來,隨後可以被引用。

+1

這對SVN來說是不真實的,它會存儲你告訴它的任何東西。如果.dll在你的svn ignore屬性中,那麼是的,它們將被忽略 – 2011-06-13 16:31:35