- 使用工具:http://codeconverter.sharpdevelop.net/SnippetConverter.aspx所提供的線上轉換功能。
- 檔名的變更:
- 修改方案內容
- 改 "c#" 或 "~.cs" 成 "vb" (~.cs 改成 ~.vb,~是指其對應的檔名)
- 改 ~.sln 中的 "http://SERVER/WEB/PROJECT.csproj" 成 "http://SERVER/WEB/PROJECT.vbproj"
- 改 ~.vbproj (原名為 ~.csproj) 內容的
成 , 區段中的 檔名 ~~.cs 都改成 ~~.vb - 改 ~.vbproj.webinfo的內容 (原名為 ~.csproj.webinfo)
- 要將 ~.vb 中[Object]改成 object;[string]改成 string
- 如果發現 EventArgs 及 Exception 未定義的錯誤,請加入限制詞 System.
即改成 System.EventArgs 及 System.Exception 或在檔頭加入 Imports System - 如果有使用 Using End Using 的區塊,需將 Using 區塊轉成一般陳述,有關使用的資源需自行加入釋放的命令
- Type.DataType(var) 的陳述改用 (var).DataType 方式來取得資料型別
- 在 C# 中可以用 =IF(cond,TRUE, FALSE) 的方式傳回值,在VB中要改成 =IIF(cond,TRUE, FALSE),同時要 Imports Microsoft.VisualBasic 之命名空間
- TryCast 可以在 ASP.NET2.0中使用,但在 1.x 須改用 CType 或 DirectCast
- 如果在 .aspx 中使用
要將 ~.csproj 改成 ~.vbproj
要將 ~.csproj.webinfo 改成 ~.vbproj.webinfo
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = ,因為「FAE04EC0-301F-11D3-BF4B-00C04F79EFBC」是應 C# ! 如果沒有修改,就要使用「開啟專案」方式來啟動專案,之後再另存方案
<%@ Control Language="c#" AutoEventWireup="false" Codebehind="DotNetGraph.ascx.cs" <%@ Control Language="vb" AutoEventWireup="false" Codebehind="DotNetGraph.ascx.vb" 可以用尋找檔案方式,找 內有 .vs 及 c# 的檔案
Convert.~~ 要用 C~~ 取代,例如: Convert.toInt16 要 改成 CInt, Convert.ToString 要 改成 CStr
則改用
DirectCast(Container.DataItem, DataRowView)("ShowName")
以上是我個人改寫 C# 成 VB 的asp.net 的經驗!
其它問題(有發現再補上!)
- 改成VB後,常會有 Namespace 對應不上的問題,要視偵錯情況調整!
沒有留言:
張貼留言