2020年10月02日
川俣晶の縁側ソフトウェアC# コーディング How Tototal 1854 count

【中級】実行中の実行ファイルの名前を得る

Written By: 川俣 晶連絡先

実行している自分自身のファイル名を得る §

 実行している時、実行している実行ファイルのファイル名を得る方法はあるのでしょうか?

 あります。

 実行中のアセンブリはAssembly.GetExecutingAssembly()で取得できます。

 取得したオブジェクトのLocationプロパティを見るとそのファイルのフルパスが格納されています。

罠の数々 §

  • Locationプロパティの動的に構成されたアセンブリの場合、値はないかもしれないし、ネットから得た場合はURLかもしれない
  • .NET Coreまたは.NET 5以降の場合、実行ファイルの拡張子はEXEではなくDLLになっている。注意しよう。.NET Frameworkで実行するとEXEのファイル名が取れるはずだ。

参考リンク §

Assembly.GetExecutingAssembly メソッド

Assembly.Location プロパティ

 AssemblyクラスにはGetExecutingAssembly以外にもアセンブリを取得するAPIがあって、実行中のアセンブリ以外にも取得できるものがある。どんなAPIで何が取得できるか、上記リンクから辿って確認してみよう。

 また、Location プロパティ以外にどんな情報を取得できるか上記リンクを辿って調べてみよう。

リポジトリ §

https://github.com/autumn009/cshowto

MyExeFileName §

using System;

using System.Reflection;

class Program

{

    static void Main()

    {

        var fileName = Assembly.GetExecutingAssembly().Location;

        Console.WriteLine(fileName);

    }

}

実行結果 (パスの詳細は実行する環境ごとに変わる)

C:\~~~\MyExeFileName\bin\Debug\net5.0\MyExeFileName.dll

Facebook

COOL C# CREW

C#ハウツー連載の解説増量、カラーのソース、新規書き下ろし追加の読みやすい単行本はこちら。

C#ハウツー: 逆引き入門・こんな機能はどう書くの?
キーワード【 川俣晶の縁側ソフトウェアC# コーディング How To
【C# コーディング How To】の次のコンテンツ
2020年
10月
04日
【入門級】配列を逆順で取り出す6つの方法
3days 0 count
total 2044 count
【C# コーディング How To】の前のコンテンツ
2020年
10月
01日
【入門級】セで始まりスで終わる文字列を判別する・LINQ編
3days 0 count
total 1211 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

https://mag.autumn.org/tb.aspx/20201002101513
サイトの表紙【C# コーディング How To】の表紙【C# コーディング How To】のコンテンツ全リスト 【C# コーディング How To】の入手全リスト 【C# コーディング How To】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.