公開型別,以視覺化設計工具
如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件。
Visual Studio必須存取的類別和型別定義在執行階段才能顯示視覺化設計工具。 類別會從一組預先定義的組件,包括目前的專案 (參考,加上其相依性) 的完整相依性集合載入。 它也可能需要的視覺化設計工具存取類別和自訂工具所產生的檔案中定義的型別。
Visual Basic和Visual C#專案系統支援透過暫時可攜式存取產生的類別和型別可執行檔 (暫時 PEs)。 自訂工具所產生的任何檔案可以編譯成暫存組件,能夠從這些組件載入及公開給設計工具型別。 每個自訂工具的輸出會編譯成不同的暫存 PE,以及此暫存編譯的成功與否完全取決於可以編譯所產生的檔案。 雖然您可能無法整體建置專案,仍可能提供給設計工具個別暫時可攜式執行。
專案系統的變更追蹤輸出檔的自訂工具,提供完整支援,前提是這些變更將會執行自訂工具的結果。 每次執行自訂工具時,會產生新的暫存 PE,並適當的通知傳送給設計工具。
注意
臨時程式可執行檔產生的檔案會在幕後執行,因為任何錯誤會向使用者不報告,如果編譯會失敗。
利用暫存 PE 支援的自訂工具必須遵守下列規則︰
GeneratesDesignTimeSource
必須設定為 1 的登錄中。不程式可執行檔會進行編譯而不需要這項設定。
產生的程式碼必須是全域的專案設定相同的語言。
無論自訂工具報告要求的擴充功能中編譯暫存 PE DefaultExtension前提
GeneratesDesignTimeSource
在登錄中設定為 1。 延伸模組不需要是.vb、.cs 或.jsl;它可以是任何擴充功能。自訂工具所產生的程式碼必須有效,以及它必須編譯時間在它自己使用只存在於專案參考的組產生完成執行。
當暫存 PE 編譯時,只提供給編譯器的原始程式檔會是自訂工具輸出。 因此,使用暫存 PE 的自訂工具必須產生可以獨立於其他檔案專案中編譯的輸出檔。