2009-12-07 86 views
2

我想在我的倉庫中有標記或子模塊的不同版本的.NET,就像可能與其他外部產品nunit,ninject,rhinomocks一樣。 projectX創建與.NET 3.0和NUnit 2.4.x的 Projecty與.NET 3.5和NUnit 2.5.X 項目Z的使用.NET 4.0B2創建和NUnit的試製釋放是否有可能使用.NET版本而不安裝該版本?

我想創建創建這樣做是爲了能夠從機器上進行更改,而無需對該機器進行更改,如更新爲最新版本的.NET(如果不更新)。 如果我想在2.0版本的計算機上更改3.0,3.5甚至4.0B2項目(也許它不是我的,也沒有管理員權限)。我想結帳該項目,它需要的.net版本(以及其他版本庫nunit,ninject,rhinomocks等)使用Notepad2或其他NON-Visual Studio編輯器進行更改(因爲VS需要安裝爲以及安裝的框架),運行構建腳本並提交/推送更改。完成後,刪除檢出/克隆的目錄和文件,就好像我從未在該機器上那樣。

背景: 我的存儲庫由許多較小的不相關的項目組成,而不僅僅是一個巨大的Web應用程序/站點。 爲什麼要維護外部庫的版本?因爲我並不總是希望一次更新所有項目。如果我有,那就有一個腳本。 每位開發人員都是遠程辦公顧問。誰知道他們的機器上有什麼?誰在乎構建腳本指向的所有內容(除了.NET框架)。 也許我的機器死了,我需要使用我的祖母。也許我正在度假,有人破解了代碼(顯然不是我的),我需要使用酒店。

回答

3

這當前不是受支持的方案。爲了準確地構建一個具有.Net風格的項目,您必須在機器上安裝相應的.Net SDK(或者在某些情況下只是重新安裝)。本質上沒有辦法將.Net框架檢入源代碼控制。

0

不選擇尼特,但這不意味着他們不一定會運行他們正在構建的代碼嗎?如果是這樣,這不是一個壞主意嗎?

+0

我從來沒有真正運行過我在CI服務器上開發的任何代碼,到目前爲止還沒有出現問題。我並沒有宣傳開發箱不應該有.NET x.x。只是說這將是很好的選擇。我不需要安裝'nunit'來運行我的測試我不想安裝.NET 4.0B2來編譯,測試和提交。無法將.NET 3.5或4.0B2安裝到CI服務器,限制了我可以克服的選項,如果我可以像所有其他依賴項一樣將其包含在項目中,那就完全可以。 – 2009-12-07 23:39:31

+0

如果您無法運行代碼,那麼您如何運行測試?他們只是.NET代碼。 NUnit是一回事,.NET框架是一個完整的「另一件事。 – 2009-12-08 15:49:27

0

這不支持。 MSBuild隨.NET Framework本身一起提供,所以如果要使用MSBuild版本X(其中X爲(2.0/3.5/4.0))構建,則需要在建築物的機器上安裝相應的.NET Framework版本(或更高版本)

由於您關心的是許可並運行不同版本的.NET,因此您可能對正在發佈的Visual Studio 2010的Lab Management片感興趣。

相關問題