實作應用程式的考量

更新:2007 年 11 月

當您在 [應用程式設計工具] 中實作應用程式時,請注意下列考量事項:

  • 安裝需求

  • 安全性考量

  • 實作之前的考量

  • 實作疑難排解

  • 實作之後的考量

安裝需求

在實作特定應用程式之前,請確定安裝下列項目:

  • 您選取用於實作應用程式的程式語言。

  • 您選取用於實作應用程式的 .NET Framework 版本 (2.0、3.0 或 3.5)。

  • 如果您要實作 Office 應用程式,則應安裝 Microsoft Visual Studio Tools for Office。您可能也需要 Microsoft Office 2003 或 Microsoft Office 2007。如需詳細資訊,請參閱安裝 Visual Studio Tools for Office

  • 若要實作遠端 ASP.NET 應用程式,請安裝您在遠端伺服器針對那些應用程式所選取使用的 .NET Framework 版本 (2.0、3.0 或 3.5)。

安全性考量

當您為應用程式定義進行特定設定時,需要注意特定的安全性考量。如需詳細資訊,請參閱套用設定

應用程式組態檔中的未加密設定

當您實作應用程式或編輯實作的應用程式時,Visual Studio 在以純文字 (未加密) 格式將包含敏感性資料之設定寫入應用程式的組態檔時,都會顯示安全性警告。在 [屬性] 視窗、[設定和條件約束編輯器] 或從 [設定和條件約束編輯器] 開啟的 [ComplexSetting 集合編輯器] 中編輯這些設定時,它們可能也會以未加密方式顯示。

下表列出了這些設定,以及它們在 [設定和條件約束編輯器] 與應用程式組態檔中的位置。表中也註記了 Visual Studio 顯示這些設定的方式。

注意事項:

您必須先加入適當的資源,才能編輯對應的設定。如需詳細資訊,請參閱加入資源。您可以將組態檔中的設定進行加密。如需詳細資訊,請參閱使用受保護的組態加密組態資訊應用程式圖表疑難排解

設定名稱

設定和條件約束編輯器位置

應用程式組態檔區段

Settings

位於 [應用程式設定]、[目錄],然後是 [組態] 下的 [AppSettingsSection] 資源。

appSettings

ConnectionStrings

位於 [應用程式設定]、[目錄],然後是 [組態] 下的 [ConnectionStringsSection] 資源。

您可以在為資料庫消費者端點設定資料庫連接字串 (Connection String) 時,加入這項設定。您可以使用 [連接屬性] 對話方塊、[屬性] 視窗或 [ComplexSetting 集合編輯器] 執行這項工作。

警告:

連接字串會在 [連接屬性] 對話方塊和 [屬性] 視窗中以純文字顯示。密碼則在 [連接屬性] 對話方塊中以遮罩文字顯示,而不會顯示在 [屬性] 視窗中。連接字串會在 [設定和條件約束編輯器] 中以遮罩文字顯示。整個字串 (包含密碼) 都會在 [ComplexSetting 集合編輯器] 中以純文字顯示。

當您複製或將資料庫消費者端點加入自訂原型時,Visual Studio 會將連接字串 (但不包含密碼) 以純文字複製到新的位置。 

警告:

當您實作資料庫消費者應用程式,Visual Studio 會將字串以純文字寫入到應用程式的組態檔案。如需詳細資訊,請參閱 HOW TO:設定與外部資料庫的連接

connectionStrings

Password

位於 [應用程式設定]、[目錄]、[組態],然後是 [SystemWebSectionGroup] 下的 [IdentitySection] 資源。

當您在 [設定和條件約束編輯器] 中檢視這個設定時,Visual Studio 會顯示遮罩字串。

identity

SqlConnectionString

位於 [應用程式設定]、[目錄]、[組態],然後是 [SystemWebSectionGroup] 下的 [SessionStateSection] 資源。

sessionState

StateConnectionString

位於 [應用程式設定]、[目錄]、[組態],然後是 [SystemWebSectionGroup] 下的 [SessionStateSection] 資源。

sessionState

Users

位於 [應用程式設定]、[目錄]、[組態]、[SystemWebSectionGroup]、[AuthenticationSection]、[FormsAuthenticationConfiguration],然後是 [FormsAuthenticationCredentials] 下的 [FormsAuthenticationCredentials] 資源。

當您在 [設定和條件約束編輯器] 中檢視這個設定時,Visual Studio 會顯示遮罩字串。

警告:

當您在 [ComplexSetting 集合編輯器] 中檢視或編輯設定的值時,這個值會以純文字顯示。

位於 authentication 下之 forms 下的 credentials

Network

位於 [應用程式設定]、[目錄]、[組態]、[NetSectionGroup],然後是 [MailSettingsSectionGroupp] 下的 [SmtpSection] 資源。

當您在 [設定和條件約束編輯器] 中檢視這個設定時,Visual Studio 會顯示遮罩字串。

smtp undermailSettings

應用程式組態檔設定的安全性處理

不論您是否對包含敏感性資料的設定進行加密,Visual Studio 都會以下列方式對其進行處理:

  • 當您在應用程式圖表上複製應用程式定義或端點時,Visual Studio 便會包含這些設定。當您實作應用程式時,設定會在應用程式組態檔案中以純文字 (未加密) 顯示。當 Visual Studio 將這些設定寫入應用程式的組態檔時會顯示安全性警告。

  • 當您在自訂原型中包含應用程式定義或端點時,Visual Studio 便會包含這些設定。當您實作應用程式時,這些設定會在應用程式組態檔案中以純文字 (未加密) 顯示。當 Visual Studio 將這些設定寫入應用程式的組態檔時會顯示安全性警告。因此,在散發這些檔案之前,請考量避免在設定中儲存敏感、機密或專屬資料,或者考慮使用加密。如需相關資訊,請參閱 HOW TO:從已設定的應用程式和端點建立自訂原型

  • Visual Studio 不會將這些設定儲存在應用程式定義 (.sdm) 或應用程式圖表 (.ad) 中。如需詳細資訊,請參閱系統定義模型 (SDM) 概觀

  • 當您撰寫使用者定義的條件約束 (Constraint) 時,Visual Studio 不會提供這些設定供您使用。如需詳細資訊,請參閱以條件約束應用程式和裝載關係

實作之前的考量

在您實作應用程式之前,請注意下列考量事項:

  • 連接您要實作的應用程式。這可讓 Visual Studio 正確產生任何所需的 Web 服務用戶端 Proxy 類別。

  • 請確認 [語言]、[專案]、[專案位置類型]、[範本] 和 [目標 Framework] 屬性包含您需要的值。在實作之後,您便無法修改這些屬性。如需詳細資訊,請參閱實作之後的考量。

    注意事項:

    您可能會在實作之前,先建立或儲存應用程式圖表的複本。

    如需詳細資訊,請參閱下列主題:

  • 在您實作應用程式時,Visual Studio 會將 Office 應用程式的 [Office 版本] 設定,更新為 [範本] 屬性所指定的版本。 

  • 在您實作應用程式之前,請先指定所需的專案名稱。在實作之後,您可以在 [方案總管] 中重新命名 Windows 或 Office 專案。但是,重新命名專案不會變更其組件名稱或磁碟上的專案資料夾名稱。例如,如果您將 Windows 專案從 "MyGeneratedName" 重新命名為 "MyRenamedProject",Visual Studio 會將專案編譯為 "MyGeneratedName.exe" 而不是 "MyRenamedProject.exe"。其磁碟上的專案資料夾名稱仍然維持為 "MyGeneratedName"。

  • 請勿使用專案名稱設定 Windows 或 Office 應用程式的專案位置。實作應用程式之後,您可以使用 Windows 檔案總管變更專案位置。

  • 應用程式定義名稱必須區分大小寫,而專案名稱則不必區分大小寫。

    當您實作類型相同而且名稱只有大小寫不同的應用程式時,Visual Studio 不會實作「重複」的應用程式。

    若要避免這種狀況,請在實作之前變更重複的名稱。

    如需詳細資訊,請參閱 HOW TO:在應用程式圖表上重新命名應用程式

  • 如果要實作使用 IIS 在本機或遠端伺服器執行的 ASP.NET 應用程式,您必須擁有該特定伺服器的系統管理員使用權限。否則,Visual Studio 便無法實作該應用程式。

    如果您是在 Windows Vista 上執行 Visual Studio,可以以系統管理員的身分執行 Visual Studio,而在本機伺服器上實作這些應用程式。 

    如需詳細資訊,請參閱疑難排解實作。

  • 如果磁碟中仍有先前實作過且已刪除之應用程式的專案,當您實作與該應用程式名稱和位置都相同的「重複」的 ASP.NET 應用程式時,將會發生衝突。

    若要避免實作發生這種衝突,請在進行實作之前,重新命名「重複」的應用程式。否則,請參閱疑難排解實作。

  • 請確定專案和它在磁碟上的資料夾具有唯一的名稱,即使這些專案在 [方案總管] 中的名稱不同,而且它們在磁碟上的資料夾具有不同的上層資料夾。

    當您準備好產生部署報表時,可以指定 Visual Studio 建立目錄與複製輸出檔案的位置。但是,Visual Studio 不會在該目錄中包含專案的上層資料夾。因此,如果方案中包含的專案在磁碟上擁有相同名稱的資料夾 (即使它們的上層資料夾並不同),Visual Studio 就會為名稱相同的專案建立單一目錄。當 Visual Studio 將輸出檔案複製到該目錄時,就會導致輸出檔案互相覆寫。如需詳細資訊,請參閱部署輸出檔的位置和目錄結構

實作疑難排解

在實作應用程式時,您可能會遇到下列問題:

  • Visual Studio 無法實作設定成使用 IIS 在本機或遠端伺服器上執行的 ASP.NET 應用程式。

    若要實作使用 IIS 在本機或遠端伺服器執行的 ASP.NET 應用程式,您必須擁有該特定伺服器的系統管理員使用權限。

    如果您是在 Windows Vista 上執行 Visual Studio,可以以系統管理員的身分執行 Visual Studio,而在本機伺服器上實作這些應用程式。

    如需詳細資訊,請選擇 HOW TO:選擇 ASP.NET 應用程式的網站類型

  • Visual Studio 無法產生應用程式的專案檔。

    當應用程式設定為不相容的自訂專案範本時就會發生這個問題。應用程式設計工具只支援 Windows、Office、網站和 ASP.NET Web 應用程式專案建立的自訂專案範本。

    若要解決這個問題,請選擇標準專案範本或不同的自訂專案範本。

    當應用程式設定為其中包含自訂專案範本之 .zip 檔時,也可能會發生這個問題。

    若要解決這個問題,在選取自訂範本前請解壓縮 .zip 檔。

    如需詳細資訊,請參閱 Visual Studio 範本應用程式圖表上之應用程式的專案範本

  • 如果磁碟中仍有已實作且已刪除之其他應用程式的專案,當您實作與該應用程式名稱和位置都相同的 ASP.NET 應用程式時,便會發生衝突。

    若要解決這種衝突,您可執行下列其中一項動作:

    • 在另一個位置建立專案。

    • 開啟現有的專案,並將它加回到方案中。

    • 覆寫現有的專案。

    若要避免這種衝突,請在進行實作之前,重新命名應用程式。

實作之後的考量

在您實作應用程式之後,請注意下列考量:

  • 當您變更應用程式定義名稱時,相關專案的根目錄名稱並不會變更。不過,Visual Studio 會同步處理專案檔 (如系統定義模型 (SDM) 文件和類別檔案) 與應用程式定義的變更。如需詳細資訊,請參閱應用程式設計工具概觀

  • 在實作應用程式之後,ASP.NET、Windows 或 Office 應用程式的 [目標 Framework] 屬性會在 [ 屬性] 視窗中顯示為空白和唯讀。在實作之後,您可以在專案的屬性中檢視和變更應用程式專案的 .NET Framework 版本。

    注意事項:

    當您在專案的屬性中變更目標架構時,請注意下列考量。如需詳細資訊,請參閱 HOW TO:為應用程式選擇 .NET Framework 版本

  • Office 應用程式的 [Office 版本] 設定會反映出,您在實作應用程式時指定的應用程式 [範本] 屬性。雖然您可以變更這項設定,但應用程式設定通常會反映出應用程式的組態。當您評估應用程式以便進行部署時,Visual Studio 將只會根據邏輯伺服器的設定驗證應用程式的設定。如果這些設定不符合 [範本] 屬性中的版本,則也不會出現驗證警告。如需詳細資訊,請參閱套用設定

請參閱

工作

HOW TO:在應用程式圖表上實作應用程式

其他資源

在應用程式圖表上實作應用程式