本主題描述如何藉由設定專案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 。 |