このトピックでは、プロジェクトの_MYTYPE条件付きコンパイル定数を設定して、どのMy オブジェクトを有効にするかを制御する方法について説明します。 Visual Studio 統合開発環境 (IDE) は、プロジェクトの _MYTYPE 条件付きコンパイル定数をプロジェクトの種類と同期させます。
定義済みの_MYTYPE値
_MYTYPE条件付きコンパイル定数を設定するには、/define コンパイラ オプションを使用する必要があります。
_MYTYPE定数に独自の値を指定する場合は、文字列値を円記号/引用符 (\") シーケンスで囲む必要があります。 たとえば、次を使用できます。
/define:_MYTYPE=\"WindowsForms\"
次の表は、複数のプロジェクトの種類に対して _MYTYPE 条件付きコンパイル定数が設定されている内容を示しています。
| プロジェクトの種類 | _MYTYPE値 |
|---|---|
| クラス ライブラリ | "Windows" |
| コンソール アプリケーション | "Console" |
| ウェブ | "Web" |
| Web コントロール ライブラリ | "WebControl" |
| Windows アプリケーション | "WindowsForms" |
Windows アプリケーション(カスタムから開始する場合) Sub Main |
"WindowsFormsWithCustomSubMain" |
| Windows コントロール ライブラリ | "Windows" |
| Windows サービス | "Console" |
| 空っぽ | "空" |
注
Option Compare ステートメントの設定方法に関係なく、すべての条件付きコンパイル文字列比較では大文字と小文字が区別されます。
依存_MYコンパイル定数
_MYTYPE条件付きコンパイル定数は、他のいくつかの_MYコンパイル定数の値を制御します。
| _MYTYPE | _MYAPPLICATIONTYPE | _MYCOMPUTERTYPE | _MYFORMS | _MYUSERTYPE | _MYWEBSERVICES |
|---|---|---|---|---|---|
| "Console" | "Console" | "Windows" | 未定義 | "Windows" | 真実 |
| "Custom" | 未定義 | 未定義 | 未定義 | 未定義 | 未定義 |
| "空" | 未定義 | 未定義 | 未定義 | 未定義 | 未定義 |
| "Web" | 未定義 | "Web" | 偽 | "Web" | 偽 |
| "WebControl" | 未定義 | "Web" | 偽 | "Web" | 真実 |
| "Windows" または "" | "Windows" | "Windows" | 未定義 | "Windows" | 真実 |
| "WindowsForms" | "WindowsForms" | "Windows" | 真実 | "Windows" | 真実 |
| "WindowsFormsWithCustomSubMain" | "Console" | "Windows" | 真実 | "Windows" | 真実 |
既定では、未定義の条件付きコンパイル定数は FALSEに解決されます。 プロジェクトをコンパイルするときに未定義の定数の値を指定して、既定の動作をオーバーライドできます。
注
_MYTYPEが "Custom" に設定されている場合、プロジェクトにはMy名前空間が含まれますが、オブジェクトは含んでいません。 ただし、 _MYTYPE を "Empty" に設定すると、コンパイラは My 名前空間とそのオブジェクトを追加できなくなります。
次の表では、 _MY コンパイル定数の定義済み値の効果について説明します。
| 定数 | 意味 |
|---|---|
_MYAPPLICATIONTYPE |
定数が "コンソール"、Windows"、または "WindowsForms" の場合、 My.Applicationを有効にします。- "コンソール" バージョンは、 ConsoleApplicationBaseから派生します。 "Windows" バージョンよりもメンバー数が少なくなります。 - "Windows" バージョンは ApplicationBase から派生し、"WindowsForms" バージョンよりもメンバー数が少なくなります。 - My.Application の "WindowsForms" バージョンは、 WindowsFormsApplicationBaseから派生します。
TARGET定数が "winexe" と定義されている場合、クラスには Sub Main メソッドが含まれます。 |
_MYCOMPUTERTYPE |
定数が "Web" または "Windows" の場合、 My.Computerを有効にします。- "Web" バージョンは ServerComputerから派生し、"Windows" バージョンよりもメンバー数が少なくなります。 - My.Computer の "Windows" バージョンは、 Computerから派生します。 |
_MYFORMS |
定数がTRUEの場合、My.Formsを有効にします。 |
_MYUSERTYPE |
定数が "Web" または "Windows" の場合、 My.Userを有効にします。- My.User の "Web" バージョンは、現在の HTTP 要求のユーザー ID に関連付けられています。- My.User の "Windows" バージョンは、スレッドの現在のプリンシパルに関連付けられています。 |
_MYWEBSERVICES |
定数がTRUEの場合、My.WebServicesを有効にします。 |
_MYTYPE |
定数が "Web" の場合、 My.Log、 My.Request、および My.Responseを有効にします。 |
こちらも参照ください
.NET