.NET Compact Framework を対象とするコンパイラを設定します。
構文
-netcf
注釈
-netcf
オプションを指定すると、Visual Basic コンパイラは完全な .NET Framework ではなく .NET Compact Framework を対象とします。 完全な .NET Framework にのみ存在する言語機能は無効です。
-netcf
オプションは、-sdkpath と共に使用するように設計されています。
-netcf
で無効になっている言語機能は、-sdkpath
を対象とするファイルに存在しないのと同じ言語機能です。
注
-netcf
オプションは、Visual Studio 開発環境内からは使用できません。コマンド ラインからコンパイルする場合にのみ使用できます。
-netcf
オプションは、Visual Basic デバイス プロジェクトが読み込まれるときに設定されます。
-netcf
オプションでは、次の言語機能が変更されます。
プログラムの実行を終了する End <keyword> Statement キーワードは無効です。 次のプログラムは、
-netcf
なしでコンパイルして実行しますが、コンパイル時に-netcf
で失敗します。Module Module1 Sub Main() End ' not valid to terminate execution with /netcf End Sub End Module
遅延バインディングは、すべてのフォームで無効になっています。 コンパイル時エラーは、認識された遅延バインディング シナリオが発生したときに生成されます。 次のプログラムは、
-netcf
なしでコンパイルして実行しますが、コンパイル時に-netcf
で失敗します。Class LateBoundClass Sub S1() End Sub Default Property P1(ByVal s As String) As Integer Get End Get Set(ByVal Value As Integer) End Set End Property End Class Module Module1 Sub Main() Dim o1 As Object Dim o2 As Object Dim o3 As Object Dim IntArr(3) As Integer o1 = New LateBoundClass o2 = 1 o3 = IntArr ' Late-bound calls o1.S1() o1.P1("member") = 1 ' Dictionary member access o1!member = 1 ' Late-bound overload resolution LateBoundSub(o2) ' Late-bound array o3(1) = 1 End Sub Sub LateBoundSub(ByVal n As Integer) End Sub Sub LateBoundSub(ByVal s As String) End Sub End Module
Auto、Ansi、Unicode 修飾子は無効です。 Declare ステートメントの構文も、
Declare Sub|Function name Lib "library" [Alias "alias"] [([arglist])]
に変更されます。 次のコードは、コンパイルでの-netcf
の影響を示しています。' compile with: /target:library Module Module1 ' valid with or without /netcf Declare Sub DllSub Lib "SomeLib.dll" () ' not valid with /netcf Declare Auto Sub DllSub1 Lib "SomeLib.dll" () Declare Ansi Sub DllSub2 Lib "SomeLib.dll" () Declare Unicode Sub DllSub3 Lib "SomeLib.dll" () End Module
Visual Basic から削除された Visual Basic 6.0 キーワードを使用すると、
-netcf
を使用すると別のエラーが生成されます。 これは、次のキーワードのエラー メッセージに影響します。Open
Close
Put
Print
Write
Input
Lock
Unlock
Seek
Width
Name
FreeFile
EOF
Loc
LOF
Line
例
次のコードでは、C ドライブ上の .NET Compact Framework の既定のインストール ディレクトリにある mscorlib.dll と Microsoft.VisualBasic.dll のバージョンを使用して、.NET Compact Framework で Myfile.vb
をコンパイルします。 通常は、最新バージョンの .NET Compact Framework を使用します。
vbc -netcf -sdkpath:"c:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE " myfile.vb
こちらも参照ください
.NET