前提・実現したいこと
Visual Studio2013で、ソースコード管理について、ご相談です。
リリースをビルドする際、事情があり、有効にしたくない(客先事情)ソースコードがあるプロジェクトにて、下記条件で効率的に管理をするにはどういう方法があるのか、ご教授願いたく、投稿しました。
・ソースコードベースで管理したい(該当ソースコードのようなイメージ)
・Gitなどは使わない
[追記]
構成を理解していませんでした。申し訳ありません。
ソリューションの中に、複数プロジェクトがあり、1つのソリューションを一括で管理したいと考えています。そのような方法、ないでしょうか。。。
発生している問題
可能であれば、VB.NETのコンパイルスイッチのような、一発で切替できる管理をしたい(現状、調べた限りでは、そういう機能がない??)
該当のソースコード
例えば、今であれば、#if / #end if でソースを管理しています。(管理といっていいのか・・・)
また、通常はGitなどを使ってはいるのですが・・・
今回は、ソースコード上での切替が出来るのがベストだという事を言われています。。。(個人的には、Gitでの差分確認で良いと思うのですが・・・それはNG)
C#
1 2#if true // Ver.〇〇より追加/変更 3 ・ 4 ・ 5 ソースコード 6 ・ 7 ・ 8#else //変更時はこれ以降に以前のコード(追加時はない) 9 ・ 10 ・ 11#endif
これだと、一つ一つ確認していく必要があるので、漏れが出る可能性が高く(管理しにくく)問題だと考えています。
調査した内容
- #defineを使用する
コンパイラオプションを設定して、有効/無効のソースコードを分ける
参考:https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/compiler-options/define-compiler-option
→ 自分の理解では、ソースファイル一つずつに宣言をしないといけないので、現実的ではない?
C#
1#define No_Relese 2Using System; 3 ・ 4 ・ 5 ・ 6 7namespace 〇〇 8{ 9 ・ 10 ・ 11 ・ 12 13}
2)条件付きコンパイル
https://dobon.net/vb/dotnet/programing/define.html
→ まさにこれだっと思ったのですが、構成プロパティ―になぜか「ビルド」が表示されていない。
VisualStudioのオプション → プロジェクトおよびソリューション → 全般 → 「ビルド構成の詳細を表示(I)」のチェックが入っていることを確認。
↓
プロジェクトのプロパティ(複数のプロジェクトが1つのソリューションにある)
この使い方は、#defineの使い方と同様の使い方しか出来なそう...
補足情報(FW/ツールのバージョンなど)
OS:Windows10
開発環境:Visual Studio2013 / .NetFramwork4.6
回答3件
あなたの回答
tips
プレビュー