前回質問(構成切替による実行ファイル名とアイコンの切り替えがしたい)からの続きになります。
前回質問では、ソースを共有してプロジェクトを二つにという回答を得て今回の質問に至りました。
そこで回答通り、1つのソリューションで2プロジェクトを作り、ソースを共有して構成を切り替え、実行ファイルを2種類出力しようとしています。
ですが、上記方法で試した結果、binフォルダのビルド結果に以下のように実行ファイルが2つ作られてしまい、かつソース共有元側の実効ファイル(以下WFAssemblyTest01.exe)がないと共有先の実効ファイル(以下WFAssemblyTest01.exe)は実行できないという状況に陥っています。
最終的な目的は、アイコンと実行ファイル名がそれぞれ別になるようにしたいです。
尚、ソースは参考として以下で記載していますが、共有化しているため2つのプロジェクト間に差異はありません。
<ビルド結果>
WFAssemblyTest01\bin\Debug_App1
\WFAssemblyTest01.exe
\WFAssemblyTest01.exe.config
\WFAssemblyTest01.pdb
WFAssemblyTest02\bin\Debug_App2
\WFAssemblyTest01.exe
\WFAssemblyTest01.exe.config
\WFAssemblyTest01.pdb
\WFAssemblyTest02.exe
\WFAssemblyTest02.exe.config
\WFAssemblyTest02.pdb
<目的>
・構成の切り替えで、実行ファイルの名前とアイコン、Assembly情報(バージョンなど)をそれぞれ別々に作りたい。
<詰まっていること>
・WPFAssemblyTest02\bin\Debug_App2に実行ファイルが2つ(WFAssemblyTest01.exe / WFAssemblyTest02.exe)が出力される。
(configも同じく2つ)
・WFAssemblyTest02.exeは、WFAssemblyTest01.exeがないと起動しない。
(リソースを参照してるから?)
<サンプルソース>
C#
1namespace WFAssemblyTest01 2{ 3 public partial class Form1 : Form 4 { 5 public Form1() 6 { 7 InitializeComponent(); 8 9 //Assembly名 10 this.label1.Text = "Assembly : " + Assembly.GetExecutingAssembly().GetName().Name; 11 12 Type myType = typeof(WFAssemblyTest01.Form1); 13 14 //現在のForm名を表示 15 this.label2.Text = "Form : " + myType; 16 17 //現在のNameSpace名を表示 18 this.label3.Text = "Namespace : " + myType.Namespace; 19 20 //実行ファイル名を表示 21 this.label4.Text = "Module : " + myType.Module; 22 23 //Resources.resxからテキスト読み込み 24 this.label5.Text = WFAssemblyTest01.Properties.Resources.AppText; 25 } 26 } 27}
<環境>
・IDE:Visual Studio 2019
・言語:C#
<その他>
・WFAssemblyTest02は、WFAssemblyTest01を参照している
回答1件
あなたの回答
tips
プレビュー