【C#】Windows Formsアプリで、特定のファイルを実行フォルダにコピーする方法

ソリューションをビルドすると、実行ファイルは次の場所に作成されます
キャプチャでは、デバッグビルド時のフォルダを指しています

このフォルダにファイルを保存したい場合、どのようにすればいいでしょうか?
ビルド後に手でコピーしていませんか?

ここでは、設定によって、ビルド時に自動的にコピーされる手順についてみていきましょう

サンプル

ここでは、外部ファイルからテキストデータを読み込んで、ラベルに表示するプログラムを例にしています

フォームデザイン

ラベルを1つ追加しています

コード

test.txtファイルを読み込んでlabel1に表示されます
このコードでは、test.txtファイルが実行ファイルと同じフォルダにある前提になっています

namespace TransFileTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            label1.Text = File.ReadAllText("test.txt");
        }
    }
}

読み込むファイルの作成

ソリューションエクスプローラでプロジェクトを右クリックで選択し、追加->新しい項目を選択します

テキストファイルを選択、名前をtest.txtで追加します

ソリューションエクスプローラの様子

エクスプローラで確認

textファイルにダミーの情報を記述します

abc
efg
abc
efg

実行ファイルと同じフォルダにコピーするための設定

ソリューションエクスプローラから、test.txtを選択しプロパティを表示させます

常にコピーするを選択します

詳細-> 出力ディレクトリーにコピーで、常にコピーするを選択します

プロジェクトファイルのソースに自動的に追加されます

プロジェクトファイルに追加された情報(自動的に作成されます:確認のみ)

<ItemGroup>
	<None Update="Test.txt">
	<CopyToOutputDirectory>Always</CopyToOutputDirectory>
	</None>
</ItemGroup>

実行結果

おまけ

プロジェクトファイルに単純に追加するだけでもOKです

プロジェクトファイルに追加する情報

<ItemGroup>
	<None Update="Test.txt">
	<CopyToOutputDirectory>Always</CopyToOutputDirectory>
	</None>
</ItemGroup>