2009-11-11 63 views

回答

1

VS2008支持C#3 - 您可能正在使用C#3特有的功能,同時仍以.NET 2.0爲目標。

是否有強大的原因,您爲什麼不能在構建服務器上安裝.NET 3.5?這將是我的首選解決方案,而不是退步您使用的VS版本。

你可能會自動降級解決方案/項目文件 - 如果你沒有做任何複雜的事情,它只是一個改變版本號的問題 - 但讓構建服務器使用不同的編譯器來IMO的開發者。

+0

我不得不同意 - 如果可能的話,你應該升級服務器,然後,如果需要的話, – Murph 2009-11-11 10:29:31

+0

貝喜小馬, 我們的測試和生產服務器是.NET 3.0是明確的減排目標在你的項目。 即時將我的解決方案降級到2005年,但我真的想要使用VS 2008.不幸的是,MS沒有考慮用戶可能希望使用MSBUILD來定位VS 2008 3.0解決方案,而無需安裝3.5。看起來像基於激勵的軟件版本。 – Jonathan 2009-11-11 10:40:19

+0

我不能改變生產和測試環境。我爲一家大銀行工作,沒有適當的程序就沒有這個機會...... – Jonathan 2009-11-11 10:41:00

1

由於您擁有VS2008項目和解決方案,因此您需要在構建服務器上安裝.NET 3.5。由於您仍然可以使用在構建計算機上安裝.NET 3.5的.NET 3.0或.NET 3.5,因此不應該對目標環境產生任何影響。

+0

我同意,但是對於.NET 3.0,有一個SP。此SP目前未安裝在我們的測試和生產服務器上。 – Jonathan 2009-11-12 10:38:29

+0

在這種情況下,您可以使用FxCop。 FxCop將引發警告CA1903,指出目標env將需要.NET 3.5 SP1。 – 2009-11-13 06:20:30

0

不可能包含不同版本而不安裝它們嗎?在存儲庫中,您可以添加版本化的.NET,並將構建腳本指向該項目所需的版本(我想像Git中的子模塊)?因此,而不是安裝.NET 3.0,3.5,4.0等包括庫?

+0

環境需要複製生產環境。我們不會在我們的生產環境中這樣做。因此不合適。 – Jonathan 2009-12-23 11:38:40