- PR -

コマンドラインからのビルドについて

1
投稿者投稿内容
ナヲ
常連さん
会議室デビュー日: 2004/02/25
投稿数: 32
投稿日時: 2006-08-29 10:02
VB.NET2003+Oracle10gR2でWindowsFormアプリを作成しています。
また、外部コンポートネントとして、
GrapeCity社のSpread for .NET windows Forms Ed. と
InputMan for .NET 3.0J を使用しています。

今回、カスタムの条件付コンパイル定数の値ごとに、
別々のexeを作成しなければなりません。
そのため、現状はIDEでビルドしてexeの名前を手動で変更しているのですが、
面倒なので、それぞれ、コマンドラインからのビルドを行うバッチファイルを
作成しようと考えています。

しかし、下記のようなsystem関連の関数等が宣言されていないという
コンパイルエラーが起こってしまいます。
Trim、IsNothing、Color、Keys、Exception、MsgBox など。

コマンドは、以下のように指定しているのですが、間違っていますでしょうか?
(今回、見易さの為に改行やスペースを入れていますが、実際は1行です)
vbc /target:winexe
 /define:AAAA=True
 /libpath:D:\oracle\product\10.1.0\Client_2\bin;
      C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322;
      "C:\Program Files\SpreadNETWin\Bin";
      "C:\Program Files\InputManNETwin3\Bin"
 /out:AAAAtest.exe
 *.vb
 /reference:Oracle.DataAccess.dll,
      System.dll,
      System.Data.dll,
      System.Design.dll,
      System.Drawing.dll,
      System.Windows.Forms.dll,
      System.Xml.dll,
      FarPoint.CalcEngine.dll,
      FarPoint.Excel.dll,
      FarPoint.PluginCalendar.WinForms.dll,
      FarPoint.Win.dll,
      FarPoint.Win.SpreadJ.dll,
      GrapeCity.Win.Input.v30.dll

それとも環境の問題でしょうか?
環境の場合、どのあたりをチェックすればよいかなど、
アドバイスをいただけるとうれしいです。

以上、よろしくお願いいたします。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2006-08-29 10:14
/imports
が足りないんですかね。
VBの場合は、ソースごとにImportsを書かなくても全てのソースに書いたことにするアレがあるじゃないですか。それが指定されていないんだと思います。
ソースの先頭に
Imports System
とか書いてないでしょ?
ExceptionはSystem名前空間のクラスですからね。

ちなみにアレは、
[プロジェクトのプロパティ−共通プロパティ−インポート]
で指定できます。
ナヲ
常連さん
会議室デビュー日: 2004/02/25
投稿数: 32
投稿日時: 2006-08-29 10:44
一郎さま

ありがとうございます!
おっしゃる通りでした。
「プロジェクトのプロパティ−共通プロパティ−インポート」で
指定されていた名前空間全てを、/imports で追加したらコンパイルエラーがなくなりました!
本当にありがとうございました!
タコツボ
常連さん
会議室デビュー日: 2004/01/20
投稿数: 22
お住まい・勤務地: 京都・大阪
投稿日時: 2006-08-29 11:58
タコツボと申します。

作成するexeの種類がたくさんあるのであれば構成で切替える方法はどうでしょうか?

初期状態では構成はDebugとReleaseの2種類だけですが、構成マネージャから任意に追加することができます。
例えばDebugHoge, ReleaseHoge, DebugFoo, ReleaseFooのように。
構成ごとにexeの出力先は設定できますし、条件付コンパイル定数も個別に設定できます。
ただし、exeの名前は全ての構成で共通になるようですが(昔のVSだと設定できたような気も...)。
参照ファイルが変動した時にも気にしなくていいですし、デバッグするのも容易かと思います。

コマンドラインからのビルドにこだわるのであれば、NAntについて調べてみるのもよいかもしれません。ビルドするだけでなく、インストーラを作ったりビルド以外にもいろいろとできると思います。exeの名前を変更することもできますし。
ナヲ
常連さん
会議室デビュー日: 2004/02/25
投稿数: 32
投稿日時: 2006-08-30 10:13
タコツボさん
それぞれの構成を持ってしまったほうが楽かもしれませんね。
exeを各構成で別名にできれば・・・。
NAntについて、さわりだけですが見てみました。
使いこなせるようになると便利みたいですね!
ありがとうございました!



[ メッセージ編集済み 編集者: ナヲ 編集日時 2006-08-30 10:14 ]
1

スキルアップ/キャリアアップ(JOB@IT)