因為 Visual Studio 不會維護 Web 程式開發的專案檔,所以轉換處理必須將相關的專案和方案設定轉換為 Visual Studio 格式。例如,轉換處理會將某些專案設定移至 Web.config 檔,其在 Microsoft Visual Studio 2005 中得以擴展,可儲存比在舊版 Visual Studio .NET 中更多的資訊。
許多在 Visual Studio .NET 中維護的設定對 Visual Studio 2005 已不適用,因此不會被轉換。例如,Web 存取模式 (檔案共用或 FrontPage) 和設計工具預設值的專案設定不會套用於 Visual Studio,因此不會轉換它們。也不會轉換設定為預設值的專案設定;即,Visual Studio 不會在其中建立具有預設值的新設定。
具有多重組態的專案
如果專案包含多重組態 (「偵錯」編譯、「發行」編譯等),則轉換會遵循下列邏輯:
如果專案僅包含「偵錯」組態和「發行」組態,則會將「偵錯」組態轉換為 Visual Studio 2005。
如果存在其他組態,Visual Studio 會提示您應將此組態設定轉換為 Visual Studio 2005。
參考
不需要轉換對專案之 Bin 資料夾中組件的參考;Visual Studio 網站會自動取得對 Bin 資料夾中程式碼的參考。如果專案包含對全域組件快取中組件的參考,則此參考會以下列格式移至 Web.config 檔。
如果 ASP.NET 中的預設已參考了組件 (例如,System.Drawing),則不會轉換組件參考。
在 Visual Studio .NET 中,參考的組件 (例如,在 Web 專案所在之方案外部參考的組件) 可能已將 CopyLocal 屬性設定為會自動更新參考之組件的 true。在 Visual Studio 2005 中,這個行為已由在 Bin 資料夾中建立一個重新整理檔案所取代。重新整理檔案會包含外部參考組件的路徑,而且會在組件名稱附加 .refresh 副檔名。
透過將 .wsdl 檔複製至 App_WebReferences 目錄來轉換 XML Web 參考。在 Visual Studio 2005 中不需要 Web 服務 Proxy 和參考對應檔案。
一般設定的轉換
下表列出 [通用屬性] 專案設定,以及 Visual Studio 轉換處理會如何處理它們。
注意事項:
您可以在 Visual Studio 中看到目前這些設定的值。在 [方案總管] 中,以滑鼠右鍵按一下專案,按一下 [屬性],然後按一下 [通用屬性]。
設定
轉換邏輯
一般
設定沒有轉換。
Web 設定
設定沒有轉換。
設計工具預設值
設定沒有轉換。
參考路徑
設定沒有轉換。
建置 (Visual Basic 用戶端專案)
Option Explicit
如果設定為 false,則此設定會移至 Web.config 檔:
<compilation explicit="false">
Option Strict
如果設定為 true,則此設定會移至 Web.config 檔:
<compilation strict="true" />
Option Compare
如果設定為 Text,則此設定會移至 Web.config 檔:
<compiler language="vb"
compilerOptions="optioncompare:text" />
匯入 (Visual Basic 用戶端專案)
已由 ASP.NET 中之預設匯入的匯入設定會被移至 Web.config 檔:
<pages>
<namespaces>
<add namespace="Namespace" />
</namespaces>
</pages>
轉換僅會影響 ASP.NET Web 網頁的匯入設定。對於 App_Code 目錄中的類別,您必須手動加入匯入設定。
組態設定的轉換
依專案所使用之程式語言的不同,專案的組態設定會稍有不同。下表列出了 Visual Studio 轉換處理會如何依語言分類處理組態設定。
注意事項:
您可以在 Visual Studio 中看到目前這些設定的值。在 [方案總管] 中,以滑鼠右鍵按一下專案,按一下 [屬性],然後按一下 [組態屬性]。
組態設定 - 所有語言
下表列出在所有專案類型中出現的 [組態] 專案設定,並描述 Visual Studio 轉換處理會如何處理它們。
設定
轉換邏輯
偵錯
啟用 ASP 偵錯
設定沒有轉換。
啟用 ASP.NET 偵錯
設定沒有轉換。
啟用 Unmanaged 偵錯
設定已經依現狀轉換。
啟用 SQL 偵錯
設定已經依現狀轉換。
[起始動作] 設定
設定會移至每位使用者的用戶端快取。
命令列的引數
設定已經依現狀轉換。
工作目錄
設定已經依現狀轉換。
永遠使用 Internet Explorer
設定沒有轉換。
啟用遠端偵錯
設定沒有轉換。
遠端偵錯電腦
設定沒有轉換。
組態設定 - Visual Basic .NET
下表列出在 Visual Basic .NET 專案中出現的 [組態] 專案設定,並描述 Visual Studio 轉換處理會如何處理它們。
設定
轉換邏輯
建置
輸出路徑
設定沒有轉換。
產生偵錯資訊
設定已移至 Web.config 檔中:
<compilation debug="true|false" />
註冊 COM Interop
設定沒有轉換。
啟用建置警告 (Visual Basic 用戶端專案)
設定沒有轉換。在 Visual Studio .NET 中永遠啟用建置警告。
將編譯器警告視為錯誤 (Visual Basic 用戶端專案)
如果設定為 true,則此設定會移至 Web.config 檔:
<compiler
language="vb"
compilerOptions="warnaserror+" />
定義 DEBUG 常數 (Visual Basic 用戶端專案)
設定已移至 Web.config 檔中:
<compiler
language="vb"
compilerOptions="define:Debug" />
定義 TRACE 常數 (Visual Basic 用戶端專案)
設定已移至 Web.config 檔中:
<compiler
language="vb"
compilerOptions="define:Trace" />
自訂常數 (Visual Basic 用戶端專案)
設定已移至 Web.config 檔中:
<compiler
language="vb"
compilerOptions="define:<list>" />
XML 文件
如果設定的話,則此設定會移至 Web.config 檔:
<compiler language="c#"
compilerOptions="doc:<filepath>" />
條件式編譯的常數
設定已移至 Web.config 檔中:
<compiler
language="c#"
compilerOptions="d:<symbols>" />
最佳化程式碼
如果設定為 true,則此設定會移至 Web.config 檔:
<compiler
language="c#"
compilerOptions="o" />
檢查算術溢位/反向溢位
如果設定為 true,則此設定會移至 Web.config 檔:
<compiler
language="c#"
compilerOptions="checked+" />
容許 Unsafe 程式碼區塊
如果設定為 true,則此設定會移至 Web.config 檔:
<compiler
language="c#"
compilerOptions="unsafe+" />
警告層級
如果設定為 4,則此設定會移至 Web.config 檔:
<compiler
language="c#"
compilerOptions="w:<level>" />
將警告視為錯誤
如果設定為 true,則此設定會移至 Web.config 檔:
<compiler language="c#"
compilerOptions="warnaserror+" />
隱藏特定警告
如果設定的話,則此設定會移至 Web.config 檔:
<compiler
language="c#"
compilerOptions="nowarn:<warning list>" />
最佳化 (Visual Basic 用戶端專案)
移除整數的溢位檢查
如果設定為 true,則此設定會移至 Web.config 檔:
<compiler
language="vb"
compilerOptions="removeintchecks+" />
啟用最佳化
如果設定為 true,則此設定會移至 Web.config 檔:
<compiler
language="vb"
compilerOptions="optimize+" />
啟用累加建置
設定沒有轉換。
DLL 基底位址
設定沒有轉換。
組態設定 - C#
下表列出在 C# 專案中出現的 [組態] 專案設定,並描述 Visual Studio 轉換處理會如何處理它們。
設定
轉換邏輯
建置
條件式編譯的常數
設定已移至 Web.config 檔中:
<compiler
language="c#"
compilerOptions="d:<symbols>" />
最佳化程式碼
如果設定為 true,則此設定會移至 Web.config 檔:
<compiler
language="c#"
compilerOptions="o" />
檢查算術溢位/反向溢位
如果設定為 true,則此設定會移至 Web.config 檔:
<compiler
language="c#"
compilerOptions="checked+" />
容許 Unsafe 程式碼區塊
如果設定為 true,則此設定會移至 Web.config 檔:
<compiler
language="c#"
compilerOptions="unsafe+" />
警告層級
如果不是設定為 4,則此設定會移至 Web.config 檔:
<compiler
language="c#"
compilerOptions="w:<level>" />
將警告視為錯誤
如果設定為 true,則此設定會移至 Web.config 檔:
<compiler language="c#"
compilerOptions="warnaserror+" />
隱藏特定警告
如果設定的話,則此設定會移至 Web.config 檔:
<compiler
language="c#"
compilerOptions="nowarn:<warning list>" />
輸出路徑
設定沒有轉換。
XML 文件
如果設定的話,則此設定會移至 Web.config 檔:
<compiler language="c#"
compilerOptions="doc:<filepath>" />
產生偵錯資訊
設定已移至 Web.config 檔中:
<compilation debug="true|false" />
註冊 COM Interop
設定沒有轉換。
進階
累加建置
如果設定為 true,則此設定會移至 Web.config 檔:
<compiler
language="c#"
compilerOptions="incr+" />
基底位址
設定沒有轉換。
檔案記憶體對齊
如果不是設定為 4096,則此設定會移至 Web.config 檔:
<compiler
language="c#"
compilerOptions="filealign:<n>" />
不要使用 Mscorlib
如果設定為 true,則此設定會移至 Web.config 檔:
<compiler
language="c#"
compilerOptions="nostdlib+" />
組態設定 - J#
下表列出在 Microsoft J# .NET 專案中出現的 [組態] 專案設定,並描述 Visual Studio 轉換處理會如何處理它們。