2008-09-18 31 views
7

正在尋找一些方法來逐步將大型現有的ASP.NET VB.NET項目轉換爲C#,同時仍然能夠將其部署爲單個Web應用程序(當前每週部署)。增量式地將大型ASP.NET VB.NET項目轉換爲C#?

我的想法是創建一個新的C#ASP.NET項目並緩慢移動頁面,但我從來沒有試圖做到這一點,並以某種方式在部署期間將它與另一個ASP.NET項目合併。

(澄清:大ASP.NET VB.NET項目都在VS IDE絕對狗...)

有什麼想法?

+0

你還沒有標記你的問題。 – chrissie1 2008-09-18 14:00:58

+0

真的嗎?當我創建問題時,我在右側看到了4個標籤... c#,asp.net,vb.net,轉換 – Joey 2008-09-18 14:15:33

+0

chrissie1:標籤現在在左側(不知道爲什麼更改) – 2008-09-18 18:53:13

回答

3

一個像我喜歡的港口呢?我真的不明白這一點,你會爲所有努力獲得什麼。也許編寫任何新功能或重構緩慢/不良現有的邏輯/服務層到C#中,但對於網頁我沒有看到80/20的好處。

0

它可以完成。那麼我希望可以這樣做,因爲我在傳統的ASP.net應用程序上一點一點地做這件事。您一次只能更換1個Webform。您可能會遇到的困難是,我似乎無法在應用程序代碼文件夾中混合使用語言,因爲它們一起編譯。

1

在VB中保留舊的東西。所有在C#中的新東西。 transistion可能會很慢,但你不會損失時間。閒暇時,用C#改變東西。

5

從業務邏輯開始,一直到頁面。把你可以加入的所有東西封裝到C#庫中,你可以將它們作爲VB.NET網站的參考。

將所有後端移植並測試後,即可開始創建單個頁面,但我建議您在完成所有轉換之後才能展開。

1

我做這樣做的一個項目如下:

  1. 創建一個C#類庫
  2. 參考從VB Web應用程序
  3. 的C#類庫在C#創建隱藏類的代碼庫
  4. 更新aspx/ascx文件中的「Inherits」屬性以引用C#類(此文件仍存在於原始VB項目中)

它工作有些不錯;這有點痛苦,你現在不得不瀏覽多個項目來查看單個頁面/控件,但它確實讓我做你想做的事情。

1

您可以簡單地在解決方案中創建一個新的c#類庫項目。在這裏重新編碼幾個類,然後替換主項目中的vb類。

但說實話我會同意,除非你想學習c#或者只是真的不喜歡vb或者只是無聊,否則我不會看到好處。

4

您被允許保留您的App_Code目錄同時包含VB代碼和C#代碼。如此有效,當你有空餘時間進行轉換時,可以非常緩慢地進行。

我目前在我的App_Code目錄中有VB.Net和C#代碼,並在空閒時間將其轉換爲VB.Net代碼或任何時候我必須返回到使用VB的頁面。淨和混亂它我將它轉換爲C#。

易peasy和微軟使其即使他們允許你有相同的應用程序都VB.NET和C#更好。這是他們在整個應用程序製作過程中可以實施的最佳創意之一。

如果你想在一個目錄中添加兩個代碼目錄添加到您的Web.config

<compilation> 
<codeSubDirectories> 
    <add directoryName="VB_Code"/> 
    <add directoryName="CS_Code"/> 
</codeSubDirectories> 
</compilation> 

,然後添加一個名爲VB_Code文件夾,並在你的App_Code目錄另一個名爲CS_Code文件夾。然後把你所有的VB/C#代碼放入你的文件夾和你的好東西。

1

我已經成功在VB項目的DLL拉着Reflector(免費)和查看代碼爲C#。局部變量並不總是翻譯,但你可以比較翻譯和重構的東西。

1

嘗試#Develop。我認爲這是將任何.net支持轉換爲任何.net支持語言的最佳方式。

其他工具只轉換代碼,但轉換整個項目。