�@

.NET TIPS

���s�t�@�C���̃p�X���擾����ɂ́H

�f�W�^���A�h�o���e�[�W
2003/04/18

�@�A�v���P�[�V�������s���̎��s�”\�t�@�C���iexe�t�@�C���j�̃p�X���擾����ɂ́A��Ɏ���2�ʂ�̕��@������B

Assembly�N���X�𗘗p�����p�X�̎擾

�@1�‚̓A�Z���u����񂩂�p�X�𓾂���@���i�A�Z���u���ɂ‚��Ắu�C���T�C�h .NET Framework ��1���v���Q�Ɓj�B����ɂ͂܂��AAssembly�N���X�iSystem.Reflection���O��ԁj��GetEntryAssembly���\�b�h�ɂ��A�G���g���E�|�C���g���܂ރA�Z���u���iAssembly�I�u�W�F�N�g�j���擾����B������exe�t�@�C���ɂ����ẮA�����Main���\�b�h���܂񂾃A�Z���u���ƂȂ��Ă���B

�@�����āA����Assembly�I�u�W�F�N�g��Location�v���p�e�B����A���s����Ă���A�v���P�[�V�����̊��S�p�X�i�t���p�X�j���擾���邱�Ƃ��ł���B

Assembly myAssembly = Assembly.GetEntryAssembly();
string path = myAssembly.Location;

�@���̃T���v���E�v���O�����ł́A���̂悤�ɂ��Ď擾�����t���p�X����ʂɕ\�����Ă���B

// exepath1.cs

using System;
using System.Reflection;

class ExePath1 {
  public static void Main() {

    Assembly myAssembly = Assembly.GetEntryAssembly();
    string path = myAssembly.Location;

    Console.WriteLine(path);
    // �o�͗�Fc:\c#\tips\016exepath\exepath1.exe
  }
}
// �R���p�C�����@�Fcsc exepath1.cs
���s�t�@�C���̃t���p�X��\������C#�̃T���v���E�v���O�����iexepath1.cs�j

�@GetEntryAssembly���\�b�h�ł͂Ȃ��AGetExecutingAssembly���\�b�h���g�p����ƁA���݂̃R�[�h�����s���Ă���A�Z���u���iAssembly�I�u�W�F�N�g�j���擾���邱�Ƃ��ł���B

�@MSDN�̃h�L�������g�uApp Object Changes in Visual Basic .NET�v�ł́AVisual Basic 6.0�ɂ�����App.Path��App.EXEName�Ɠ����ƂȂ���@�Ƃ��āA������̃��\�b�h���g�p�����������Љ��Ă���B�������A�A�Z���u���̍\���ɂ���邪�A���C�u�����̒��ł��̕��@�ɂ��p�X���擾�����ꍇ�Ȃǂł́A���C�u�����E�t�@�C���ւ̃p�X�ƂȂ邱�Ƃ�����_�ɒ��ӂ��K�v���B

Application�N���X�𗘗p�����p�X�̎擾

�@Application�N���X�iSystem.Windows.Forms���O��ԁj��ExecutablePath�v���p�e�B���g�p����ƁA�A�v���P�[�V�������J�n�����p�X���擾���邱�Ƃ��ł���B

string path = Application.ExecutablePath;

�@���̃T���v���E�v���O�����́A���̕��@�ɂ����s���̃t���p�X��\������B

// exepath2.cs

using System;
using System.Windows.Forms;

class ExePath2 {
  public static void Main() {

    string path = Application.ExecutablePath;

    Console.WriteLine(path);
    // �o�͗�Fc:\c#\tips\016exepath\exepath2.exe
  }
}
// �R���p�C�����@�Fcsc exepath2.cs
���s�t�@�C���̃t���p�X��\������T���v���E�v���O�����iexepath2.cs�j

�@Application�N���X�́A���O��Ԃ�System.Windows.Forms�ƂȂ��Ă��邪�AWindows�A�v���P�[�V�����ȊO�̌`���̃A�v���P�[�V����������Ăяo�����Ƃ͉”\���BEnd of Article

�J�e�S���F�N���X�E���C�u�����@�����ΏہF�p�X
�g�p���C�u�����FAssembly�N���X�iSystem.Reflection���O��ԁj
�g�p���C�u�����FApplication�N���X�iSystem.Windows.Forms���O��ԁj
�@
���̋L���Ɗ֘A���̍����ʂ�.NET TIPS
�o�[�W�������_�C�A���O���쐬����ɂ́H
�mASP.NET�nASP.NET��VB.NET�ŗL�̊֐���C#���痘�p����ɂ́H
�A�v���P�[�V�����ݒ���͂ǂ��ɕۑ����ׂ����H
�R���g���[���̃N���X������R���g���[���E�I�u�W�F�N�g���쐬����ɂ́H
�m�Q�Ƃ̒lj��n�_�C�A���O�ɓƎ��̃A�Z���u����\������ɂ́H
���̃��X�g�́A�i���j�f�W�^���A�h�o���e�[�W���J������
�����֘A�L���T���V�X�e�� Jigsaw�i�W�O�\�[�j �ɂ�莩�����o�������̂ł��B
generated by

�u.NET TIPS�v


Insider.NET �t�H�[���� �V���L��
  • ��2��@�Ȍ��ȃR�[�f�B���O�̂��߂� �i2017/7/26�j
    �@�����_���ŋL�q�ł��郁���o�̑����Athrow���Aout�ϐ��A�^�v���ȂǁAC# 7�ɂ͈ȑO�����R�[�h���Ȍ��ɋL�q�ł���悤�ȋ@�\����������Ă���
  • ��1��@Visual Studio Code�f�o�b�O�̊�b�m�� �i2017/7/21�j
    �@Node.js�v���O�������f�o�b�O���Ȃ���AVisual Studio Code�ɓ�������Ă���f�o�b�O�@�\�̊�{�́u�L�v���}�X�^�[���悤
  • ��1��@���ĂȃR�[�f�B���O�̂��߂� �i2017/7/19�j
    �@C# 7�Œlj����ꂽ�V�@�\�̒�����A�u���l���e�����\���̉��P�v�Ɓu���[�J���֐��v���Љ��B�����͕�����₷���R�[�h���L�q����̂Ɏg����
  • Presentation Translator �i2017/7/18�j
    �@Presentation Translator��PowerPoint�p�̃A�h�C���B�v���[���e�[�V�������̎����̕t����A������ł̎��^�����A�X���C�h�̖|����s����
��IT���[���}�K�W���@�V������X�^�b�t�̃R���������[���œ͂��܂��i�����j

���ڂ̃e�[�}

Insider.NET �L�������L���O

�{�� ����