C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: msbuild のカステム定数指定について


(過去ログ 176 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■101376 / inTopicNo.1)  msbuild のカステム定数指定について
  
□投稿者/ ぽんた (1回)-(2023/02/10(Fri) 11:52:45)

分類:[VB.NET/VB2005 以降] 

msbuild のコンパイルオプションで質問させてください。

プログラムの方では、以下のような記述になっています。

Private Sub Form_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
#If TESTNO = 1 Then
MessageBox.Show("1")
#Else
MessageBox.Show("2")
#End If
End Sub

プロジェクト→コンパイル→詳細コンパイル オプション→カスタム定数の部分で
TESTNO=1または TESTNO=2
などと指定して実行すると、メッセージが切り替えができる事は確認しました。


コマンドラインからmsbuildでコンパイルを行いたいので、以下のように指定したのてずが、TESTNO で切り替えができません。

msbuild test.sln /p:DefineConstants=TESTNO=1

正しい指定の方法をご存じの方がいらっしゃいましたらもらえないでしょうか?すみませんがよろしくお願いします。
引用返信 編集キー/
■101377 / inTopicNo.2)  Re[1]: msbuild のカステム定数指定について
□投稿者/ とっちゃん (777回)-(2023/02/10(Fri) 13:17:26)
No101376 (ぽんた さん) に返信
> msbuild のコンパイルオプションで質問させてください。
>
> コマンドラインからmsbuildでコンパイルを行いたいので、以下のように指定したのてずが、TESTNO で切り替えができません。
>
> msbuild test.sln /p:DefineConstants=TESTNO=1
>
> 正しい指定の方法をご存じの方がいらっしゃいましたらもらえないでしょうか?すみませんがよろしくお願いします。

とりあえず、リファレンス
https://learn.microsoft.com/ja-jp/visualstudio/msbuild/msbuild-command-line-reference?WT.mc_id=DT-MVP-32182&view=vs-2022

試してないからわかりませんが
msbuild test.sln -p:TESTNO=1
でいいと思います。

引用返信 編集キー/
■101378 / inTopicNo.3)  Re[2]: msbuild のカステム定数指定について
□投稿者/ Hongliang (1274回)-(2023/02/10(Fri) 13:31:15)
> 試してないからわかりませんが
> msbuild test.sln -p:TESTNO=1
> でいいと思います。
いえ、DefineConstants=は必要なはずです。

コマンドライン引数から定数を指定しただけだとプロジェクトの更新があったと認識されていない可能性があります。
msbuild /t:Rebuild (以下略)
のように明示的にリビルドしてみてはいかがでしょうか。
また、実行されるvbc.exeのコマンドラインが表示されると思いますが、/defineの内容を確認してみてください。
引用返信 編集キー/
■101379 / inTopicNo.4)  Re[3]: msbuild のカステム定数指定について
□投稿者/ とっちゃん (778回)-(2023/02/10(Fri) 17:48:44)
No101378 (Hongliang さん) に返信
> いえ、DefineConstants=は必要なはずです。
>
p コマンドは、プロジェクトのプロパティ変更だから対象となるプロパティを指定する必要がありますね。
久しく触ってなくてすっかり忘れてた。


> コマンドライン引数から定数を指定しただけだとプロジェクトの更新があったと認識されていない可能性があります。
なので、こちらが原因だと思います。

今回の場合はHongliang さんが書いているようにリビルドするのが一番無難だと思います。
プロジェクト設定を書き換えても結果的にはリビルドすることになりますので。

引用返信 編集キー/
■101380 / inTopicNo.5)  Re[4]: msbuild のカステム定数指定について
□投稿者/ ぽんた (2回)-(2023/02/10(Fri) 20:46:59)
回答の方ありがとうございます。

ご指摘のとおり、明示的にリビルドを指定したら正しく動作するようになりました。

msbuild test.sln /p:DefineConstants=TESTNO=1
 ↓
msbuild test.sln /t:rebuild /p:DefineConstants=TESTNO=1

文献が少なくて困っていたので、とても助かりました。
回答をいただいた皆様、どうもありがとうございました。
それでは失礼します。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -