本主題描述如何藉由設定專案My的條件式編譯常數來控制_MYTYPE哪些物件已啟用。 Visual Studio 集成開發環境 (IDE) 會讓 _MYTYPE 專案的條件式編譯常數與專案的類型保持同步。
預先定義的_MYTYPE值
您必須使用編譯 /define 程式選項來設定 _MYTYPE 條件式編譯常數。 為常數指定您自己的值 _MYTYPE 時,您必須以反斜杠/引號 (\“) 序列括住字串值。 例如,您可以使用:
/define:_MYTYPE=\"WindowsForms\"
下表顯示數個專案類型中,條件編譯常數 _MYTYPE 的設定值。
| 專案類型 | _MYTYPE值 |
|---|---|
| 類別庫 | “Windows” |
| 主控台應用程式 | 控制台 |
| 網路 | 網頁 |
| Web 控制庫 | “WebControl” |
| Windows 應用程式 | “WindowsForms” |
Windows 應用程式,啟動時使用自定義的 Sub Main |
“WindowsFormsWithCustomSubMain” |
| Windows 控件庫 | “Windows” |
| Windows 服務 | 控制台 |
| 空 | 空的 |
備註
不論語句的設定方式 Option Compare 為何,所有條件式編譯字串比較都會區分大小寫。
依賴_MY編譯常數
條件 _MYTYPE 式編譯常數接著會控制數個其他 _MY 編譯常數的值:
| _MYTYPE | _MYAPPLICATIONTYPE | _MYCOMPUTERTYPE | _MYFORMS | _MYUSERTYPE | _我的網路服務 |
|---|---|---|---|---|---|
| 控制台 | 控制台 | “Windows” | 未定義 | “Windows” | 是真的 |
| 自訂 | 未定義 | 未定義 | 未定義 | 未定義 | 未定義 |
| 空的 | 未定義 | 未定義 | 未定義 | 未定義 | 未定義 |
| 網頁 | 未定義 | 網頁 | 錯誤 | 網頁 | 錯誤 |
| “WebControl” | 未定義 | 網頁 | 錯誤 | 網頁 | 是真的 |
| “Windows” 或 “” | “Windows” | “Windows” | 未定義 | “Windows” | 是真的 |
| “WindowsForms” | “WindowsForms” | “Windows” | 是真的 | “Windows” | 是真的 |
| “WindowsFormsWithCustomSubMain” | 控制台 | “Windows” | 是真的 | “Windows” | 是真的 |
根據預設,未定義的條件式編譯常數會解析為 FALSE。 編譯專案以覆寫預設行為時,您可以指定未定義常數的值。
備註
當 _MYTYPE 設定為「Custom」時,專案會包含 My 命名空間,但不包含任何物件。 不過,將 設定 _MYTYPE 為 「Empty」 可防止編譯程式新增 My 命名空間及其物件。
下表描述編譯常數之預先定義值 _MY 的效果。
| 常數 | 意義 |
|---|---|
_MYAPPLICATIONTYPE |
如果常數為 “Console”、“Windows” 或 “WindowsForms”,則啟用 My.Application:- 「主控台」版本衍生自 ConsoleApplicationBase。 比起「Windows」版本,其成員數量較少。 - “Windows” 版本衍生自 ApplicationBase.,且成員比 “WindowsForms” 版本少。 - 的 “WindowsForms” 版本 My.Application 衍生自 WindowsFormsApplicationBase。
TARGET如果常數定義為 「winexe」,則 類別會包含 Sub Main 方法。 |
_MYCOMPUTERTYPE |
如果常數是 「Web」 或 「Windows」,則啟用 My.Computer:- “Web” 版本衍生自 ServerComputer,且成員比 “Windows” 版本少。 - 的 “Windows” 版本 My.Computer 衍生自 Computer。 |
_MYFORMS |
如果常數為 My.Forms,則啟用 TRUE。 |
_MYUSERTYPE |
如果常數是 「Web」 或 「Windows」,則啟用 My.User:- 的 「Web」 版本 My.User 與目前 HTTP 要求的使用者身分識別相關聯。- 「Windows」版本的 My.User 與線程當前的主體相關聯。 |
_MYWEBSERVICES |
如果常數為 My.WebServices,則啟用 TRUE。 |
_MYTYPE |
如果常數為 「Web」 則開啟 My.Log、 My.Request和 My.Response。 |