HOW TO:從應用程式圖表上的應用程式參考類別庫
更新:2007 年 11 月
在 [應用程式設計工具] 中,您可以在應用程式圖表上表示應用程式中的類別庫參考。雖然 [應用程式設計工具] 不支援在應用程式圖表上設計或直接表示類別庫,但您可以使用 ASP.NET Web 服務做為類別庫所實作功能的外貌。接著,您可以藉由從這些應用程式連接到該 Web 服務的方式,在其他應用程式中反向工程該類別庫的參考。
下列清單概述完成這項工作所需的步驟:
將 ASP.NET Web 服務加入至您的方案,並從類別庫中參考該 Web 服務。
從消費者應用程式中參考該類別庫,這個消費者應用程式可以是已經存在或您加入至應用程式圖表中的 ASP.NET、Windows 或 Office 應用程式。
將類別庫組態檔中適當的項目複製到消費者應用程式組態檔。
這些步驟將會對消費者應用程式上的 Web 服務消費者端點和通往 ASP.NET Web 服務的連接進行反向工程。
![]() |
---|
您也可以使用這項技術,針對類別庫中定義為 Web 服務消費者端點和連到應用程式圖表上的連接,以視覺化方式檢視這些 Web 參考或自訂的 Web 服務用戶端 Proxy 類別。不過,您無法透過使用 [應用程式設計工具] 先設計 Web 服務消費者端點,再加入適當組態檔項目的方式來表示這些項目。如需詳細資訊,請參閱類別庫中的 Web 參考和自訂 Web 服務用戶端 Proxy 類別。 |
從類別庫中參考 Web 服務
開啟應用程式圖表 (.ad) 檔。
將 ASP.NET Web 服務加入至圖表。
秘訣
如需詳細資訊,請參閱 HOW TO:在應用程式圖表上定義應用程式。
這個 Web 服務將使其他應用程式能夠以消費 Web 服務的方式來參考類別庫。
在圖表上,選擇現有 Windows 或 ASP.NET 應用程式做為消費者應用程式,或加入新的應用程式。
如果尚未實作 ASP.NET Web 服務和消費者應用程式,請加以實作。
注意事項:
如需詳細資訊,請參閱 HOW TO:在應用程式圖表上實作應用程式。您必須先實作 ASP.NET Web 服務後,才能將 Web 服務參考加入至類別庫。您必須實作消費者應用程式,稍後才能編輯其組態檔。
消費者應用程式將使用類別庫的功能來呼叫 Web 服務。
如有必要,將新的或現有的類別庫專案加入至方案中。
注意事項:
類別庫專案中必須有 App.config 檔,使得在加入 Web 參考時,會加入適當的組態檔項目。
如果類別庫、ASP.NET Web 服務或消費者應用程式專案中沒有組態檔,請將適當的組態檔 (App.config 或 Web.config) 加入至類別庫專案中。
秘訣
若要加入組態檔,請在 [方案總管] 中選取專案節點,在 [專案] 功能表中選擇 [加入新項目],並視情況在 [加入新項目] 對話方塊中選擇 [應用程式組態檔] 或 [Web 組態檔]。
在 [方案總管] 中,選取類別庫專案節點,並在 [專案] 功能表中選擇 [加入 Web 參考]。
在 [加入 Web 參考] 對話方塊中,按一下 [這個方案中的 Web 服務],並選擇您建立的 Web 服務,然後按一下 [加入參考]。
在 [方案總管] 中,Web 服務參考便會加入至類別庫專案的 [Web 參考] 資料夾中。
在 [方案總管] 中,選取類別庫專案節點,並在 [建置] 功能表中選擇 [建置 <ClassLibraryName>]。
秘訣
您也可以以滑鼠右鍵按一下專案節點,並選擇 [建置]。加入新的 Web 參考後,先重建類別庫,然後複製組態檔項目並加入類別庫參考。否則,如果在複製組態檔項目以及將類別庫參考加入至消費者應用程式之後,最後一個步驟才建立類別庫,則 Visual Basic 類別庫中的 Web 服務參考可能不會進行反向工程。如需詳細資訊,請參閱應用程式圖表疑難排解。
您現在即可將類別庫參考加入至消費者應用程式。
![]() |
---|
如果類別庫專案中沒有組態檔或在您將 Web 參考加入至專案後已刪除組態檔,您可以將新的組態檔加入至專案中。但是,Web 參考將不會自動加入至組態檔中。您必須將 Web 參考從專案中移除,然後重新加入至專案中,以建立包含新加入的 Web 參考項目的新組態檔。 |
從消費者應用程式中參考類別庫
在 [方案總管] 中,選取消費者應用程式專案節點,並選擇下列其中一項:
若是 Windows 或 Office 應用程式,請在 [專案] 功能表中選擇 [加入參考]。
若是 ASP.NET 應用程式,請在 [網站] 功能表中選擇 [加入參考]。
秘訣
您也可以以滑鼠右鍵按一下根專案節點,並選擇 [加入參考]。
在 [專案] 索引標籤中,選取類別庫專案並按一下 [確定]。
將類別庫組態檔中的項目複製到消費者應用程式組態檔
開啟類別庫專案中的 App.config 檔,以及消費者應用程式專案中的組態檔。
在類別庫 App.config 檔中,複製 <configSections> 和 <applicationSettings> 區段中的下列項目。
注意事項:
如果目的組態檔中沒有封閉式 <configSections> 或 <applicationSettings> 標籤,請包括這些標籤。如果要複製多個類別庫中的項目,請只複製一組 "applicationSettings" <sectionGroup> 標籤。
<configSections> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=VersionNumber, Culture=neutral, PublicKeyToken=b77a5c561934e089"><section name="ClassLibraryName.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /></sectionGroup> </configSections> <applicationSettings> <ClassLibraryName.Settings> <setting name="ClassLibraryName_WebServiceProxyClassName" serializeAs="String"><value>http://WebServiceURL.asmx</value></setting></ClassLibraryName.Settings> </applicationSettings>
將複製的項目貼入 <configuration> 區段中,緊接在消費者應用程式之組態檔的 <configuration> 標籤後。
在 [方案總管] 中,選取根方案節點並從 [建置] 功能表選擇 [建置方案]。
秘訣
您也可以以滑鼠右鍵按一下根方案節點,並選擇 [建置方案]。
在應用程式圖表中,消費者應用程式上的 Web 服務消費者端點便會進行反向工程,並連接到 ASP.NET Web 服務。
如有下列狀況,Web 服務參考可能不會正確反向工程:
當 Windows 和 ASP.NET Web 專案都參考相同的類別庫時,Web 服務參考可能不會正確反向工程。
若要解決這種情況,請關閉應用程式圖表,並從 Windows 和 ASP.NET Web 專案中移除指到共用類別庫的參考。先將類別庫參考加入至 ASP.NET Web 專案中,開啟應用程式圖表,然後將類別庫參考加入至 Windows 專案中。如需詳細資訊,請參閱應用程式圖表疑難排解。
當消費者應用程式參考多個類別庫,而且這些類別庫中每一個都包含指向不同 Web 服務的 Web 參考,則 Visual Basic 類別庫可能不會正確進行反向工程。
若要解決這種情況,請更新受影響之類別庫中的所有 Web 參考。以滑鼠右鍵按一下受影響之每個類別庫中的每個 Web 參考,並選擇 [更新 Web 參考],然後重建整個方案。加入新的 Web 參考,並重建對應的類別庫後,請重新重建整個方案,以反向工程這些 Web 參考。