2016-09-19 111 views
1

本週我們爲我們的團隊安裝了全新的VS2015版本。於是我立即盯着使用C#6語法的地方,然後我將合併到主分支的更改全部在TeamCity上失敗。事實證明,我們的TeamCity不支持C#6,我們將需要新的許可證。從C#6重構/恢復代碼回到C#5

現在我將不得不重寫我以前版本中的所有代碼(我們正在談論幾乎所有代碼1-2小時的固定最小值)。

有沒有辦法將代碼恢復到以前版本的C#(如Resharper或VS2015支持它),所以我不需要手動執行它?

+0

「TeamCity不支持C#6」是什麼意思?你不能在你的TeamCity代理上安裝VS2015嗎? – sferencik

+0

您在VCS中沒有以前版本的代碼嗎? – sferencik

+0

@sferencik嗨,什麼是VCS?關於TS許可證,他們正在對ATM進行分類。 –

回答

2
  1. 要恢復到的String.format

正則表達式替換:

\$\"\{([A-Za-z.]*)\}\" - >string.Format("{0}", $1)

\$\"\{([A-Za-z. ]*):([0-9.]*)\}\" - >string.Format("{0:$2}", $1)

\$\"([A-Za-z. ]*)\{([a-zA-Z]*)\}\" - >string.Format("$1{0}", $2)

  • 要恢復properties regex replace
  • ([a-z]*) ([a-zA-Z?]*) ([A-Za-z]*) => ([a-zA-Z0-9_]*)\?\.([a-zA-Z]*); - >$1 $2 $3 { get { return $4 == null ? ($2)null : $4.$5; }}

    在此之後我留下了極少數的手動更改,所以我想它不是那麼糟糕,因爲它最初氈。