ConfigurationManager.OpenExeConfiguration ConfigurationManager.OpenExeConfiguration ConfigurationManager.OpenExeConfiguration ConfigurationManager.OpenExeConfiguration Method

定義

指定したクライアント構成ファイルを Configuration オブジェクトとして開きます。Opens the specified client configuration file as a Configuration object.

オーバーロード

OpenExeConfiguration(ConfigurationUserLevel) OpenExeConfiguration(ConfigurationUserLevel) OpenExeConfiguration(ConfigurationUserLevel) OpenExeConfiguration(ConfigurationUserLevel)

現在のアプリケーションの構成ファイルを Configuration オブジェクトとして開きます。Opens the configuration file for the current application as a Configuration object.

OpenExeConfiguration(String) OpenExeConfiguration(String) OpenExeConfiguration(String) OpenExeConfiguration(String)

指定したクライアント構成ファイルを Configuration オブジェクトとして開きます。Opens the specified client configuration file as a Configuration object.

OpenExeConfiguration(ConfigurationUserLevel) OpenExeConfiguration(ConfigurationUserLevel) OpenExeConfiguration(ConfigurationUserLevel) OpenExeConfiguration(ConfigurationUserLevel)

現在のアプリケーションの構成ファイルを Configuration オブジェクトとして開きます。Opens the configuration file for the current application as a Configuration object.

public:
 static System::Configuration::Configuration ^ OpenExeConfiguration(System::Configuration::ConfigurationUserLevel userLevel);
public static System.Configuration.Configuration OpenExeConfiguration (System.Configuration.ConfigurationUserLevel userLevel);
static member OpenExeConfiguration : System.Configuration.ConfigurationUserLevel -> System.Configuration.Configuration
Public Shared Function OpenExeConfiguration (userLevel As ConfigurationUserLevel) As Configuration

パラメーター

userLevel
ConfigurationUserLevel ConfigurationUserLevel ConfigurationUserLevel ConfigurationUserLevel

構成を開く対象となる ConfigurationUserLevelThe ConfigurationUserLevel for which you are opening the configuration.

戻り値

例外

構成ファイルを読み込めませんでした。A configuration file could not be loaded.

OpenExeConfiguration メソッドを使用するコード例を次に示します。The following code example shows how to use the OpenExeConfiguration method.

// Get the roaming configuration file associated 
// with the application.
// This function uses the OpenExeConfiguration(
// ConfigurationUserLevel userLevel) method to 
// get the configuration file.
// It also creates a custom ConsoleSection and 
// sets its ConsoleElement BackgroundColor and
// ForegroundColor properties to blue and yellow
// respectively. Then it uses these properties to
// set the console colors.  
public static void GetRoamingConfiguration()
{
  // Define the custom section to add to the
  // configuration file.
  string sectionName = "consoleSection";
  ConsoleSection currentSection = null;
  
  // Get the roaming configuration 
  // that applies to the current user.
  Configuration roamingConfig =
    ConfigurationManager.OpenExeConfiguration(
     ConfigurationUserLevel.PerUserRoaming);

  // Map the roaming configuration file. This
  // enables the application to access 
  // the configuration file using the
  // System.Configuration.Configuration class
  ExeConfigurationFileMap configFileMap =
    new ExeConfigurationFileMap();
  configFileMap.ExeConfigFilename = 
    roamingConfig.FilePath;

  // Get the mapped configuration file.
  Configuration config =
    ConfigurationManager.OpenMappedExeConfiguration(
      configFileMap, ConfigurationUserLevel.None);
  
  try
    {
      currentSection =
           (ConsoleSection)config.GetSection(
             sectionName);

      // Synchronize the application configuration
      // if needed. The following two steps seem
      // to solve some out of synch issues 
      // between roaming and default
      // configuration.
      config.Save(ConfigurationSaveMode.Modified);

      // Force a reload of the changed section, 
      // if needed. This makes the new values available 
      // for reading.
      ConfigurationManager.RefreshSection(sectionName);

      if (currentSection == null)
      {
        // Create a custom configuration section.
        currentSection = new ConsoleSection();

        // Define where in the configuration file 
        // hierarchy the associated 
        // configuration section can be declared.
        // The following assignment assures that 
        // the configuration information can be 
        // defined in the user.config file in the 
        // roaming user directory. 
        currentSection.SectionInformation.AllowExeDefinition =
          ConfigurationAllowExeDefinition.MachineToLocalUser;

        // Allow the configuration section to be 
        // overridden by lower-level configuration files.
        // This means that lower-level files can contain
        // the section (use the same name) and assign 
        // different values to it as done by the
        // function GetApplicationConfiguration() in this
        // example.
        currentSection.SectionInformation.AllowOverride =
          true;

        // Store console settings for roaming users.
        currentSection.ConsoleElement.BackgroundColor =
            ConsoleColor.Blue;
        currentSection.ConsoleElement.ForegroundColor =
            ConsoleColor.Yellow;

        // Add configuration information to 
        // the configuration file.
        config.Sections.Add(sectionName, currentSection);
        config.Save(ConfigurationSaveMode.Modified);
        // Force a reload of the changed section. This 
        // makes the new values available for reading.
        ConfigurationManager.RefreshSection(
          sectionName);
      }
  }
  catch (ConfigurationErrorsException e)
  {
      Console.WriteLine("[Exception error: {0}]",
          e.ToString());
  }

  // Set console properties using values
  // stored in the configuration file.
  Console.BackgroundColor =
    currentSection.ConsoleElement.BackgroundColor;
  Console.ForegroundColor =
    currentSection.ConsoleElement.ForegroundColor;
  // Apply the changes.
  Console.Clear();

  // Display feedback.
  Console.WriteLine();
  Console.WriteLine(
    "Using OpenExeConfiguration(ConfigurationUserLevel).");
  Console.WriteLine(
      "Configuration file is: {0}", config.FilePath);
}
    ' Get the roaming configuration file associated 
    ' with the application.
    ' This function uses the OpenExeConfiguration(
    ' ConfigurationUserLevel userLevel) method to 
    ' get the configuration file.
    ' It also creates a custom ConsoleSection and 
' sets its ConsoleElement BackgroundColor and
    ' ForegroundColor properties to blue and yellow
    ' respectively. Then it uses these properties to
    ' set the console colors.  
    Public Shared Sub GetRoamingConfiguration()
        ' Define the custom section to add to the
        ' configuration file.
        Dim sectionName As String = "consoleSection"
        Dim currentSection As ConsoleSection = Nothing

        ' Get the roaming configuration 
        ' that applies to the current user.
        Dim roamingConfig As Configuration = _
        ConfigurationManager.OpenExeConfiguration( _
            ConfigurationUserLevel.PerUserRoaming)

        ' Map the roaming configuration file. This
        ' enables the application to access 
        ' the configuration file using the
        ' System.Configuration.Configuration class
        Dim configFileMap As New ExeConfigurationFileMap()
        configFileMap.ExeConfigFilename = _
            roamingConfig.FilePath

        ' Get the mapped configuration file.
        Dim config As Configuration = _
            ConfigurationManager.OpenMappedExeConfiguration( _
                configFileMap, ConfigurationUserLevel.None)

        Try
            currentSection = DirectCast( _
                config.GetSection(sectionName),  _
                ConsoleSection)

            ' Synchronize the application configuration
            ' if needed. The following two steps seem
            ' to solve some out of synch issues 
            ' between roaming and default
            ' configuration.
            config.Save(ConfigurationSaveMode.Modified)

            ' Force a reload of the changed section, 
            ' if needed. This makes the new values available 
            ' for reading.
            ConfigurationManager.RefreshSection(sectionName)

            If currentSection Is Nothing Then
                ' Create a custom configuration section.
                currentSection = New ConsoleSection()

                ' Define where in the configuration file 
                ' hierarchy the associated 
                ' configuration section can be declared.
                ' The following assignment assures that 
                ' the configuration information can be 
                ' defined in the user.config file in the 
                ' roaming user directory. 
                currentSection.SectionInformation. _
                AllowExeDefinition = _
                    ConfigurationAllowExeDefinition. _
                    MachineToLocalUser

                ' Allow the configuration section to be 
                ' overridden by lower-level configuration 
                ' files.
                ' This means that lower-level files can 
                ' contain()the section (use the same name) 
                ' and assign different values to it as 
                ' done by the function 
                ' GetApplicationConfiguration() in this
                ' example.
                currentSection.SectionInformation. _
                    AllowOverride = True

                ' Store console settings for roaming users.
                currentSection.ConsoleElement. _
                BackgroundColor = ConsoleColor.Blue
                currentSection.ConsoleElement. _
                ForegroundColor = ConsoleColor.Yellow

                ' Add configuration information to 
                ' the configuration file.
                config.Sections.Add(sectionName, _
                    currentSection)
                config.Save(ConfigurationSaveMode.Modified)
                ' Force a reload of the changed section. This 
                ' makes the new values available for reading.
                ConfigurationManager.RefreshSection( _
                    sectionName)
            End If
        Catch e As ConfigurationErrorsException
            Console.WriteLine("[Exception error: {0}]", _
                              e.ToString())
        End Try

        ' Set console properties using values
        ' stored in the configuration file.
        Console.BackgroundColor = _
            currentSection.ConsoleElement.BackgroundColor
        Console.ForegroundColor = _
            currentSection.ConsoleElement.ForegroundColor
        ' Apply the changes.
        Console.Clear()

        ' Display feedback.
        Console.WriteLine()
        Console.WriteLine( _
            "Using OpenExeConfiguration(userLevel).")
        Console.WriteLine( _
            "Configuration file is: {0}", config.FilePath)
    End Sub

注釈

クライアントアプリケーションは、すべてのユーザーに適用されるグローバル構成、個々のユーザーに適用される構成、およびローミングユーザーに適用される構成を使用します。Client applications use a global configuration that applies to all users, separate configurations that apply to individual users, and configurations that apply to roaming users. パラメーター userLevelは、開いている構成ファイルの場所を指定します。これは、ユーザーレベルがない (構成ファイルがアプリケーションと同じディレクトリにある) か、またはユーザーごとのレベル (構成ファイルはユーザーレベルで決定されるアプリケーション設定パス。The userLevel parameter determines the location of the configuration file being opened by indicating whether it has no user level (the configuration file is in the same directory as the application) or has a per-user level (the configuration file is in an application settings path determined by the user level).

に対しuserLevelて次のいずれかの値を渡すことによって、取得する構成を指定します。Specify which configuration to get by passing one of the following values for userLevel:

  • すべてのユーザー Configurationに適用されるオブジェクトを取得するuserLevelNoneは、をに設定します。To get the Configuration object that applies to all users, set userLevel to None.

  • 現在のユーザーにConfiguration適用されるローカルオブジェクトを取得するにuserLevelPerUserRoamingAndLocal、をに設定します。To get the local Configuration object that applies to the current user, set userLevel to PerUserRoamingAndLocal.

  • 現在のユーザーにConfiguration適用されるローミングオブジェクトを取得するにuserLevelPerUserRoaming、をに設定します。To get the roaming Configuration object that applies to the current user, set userLevel to PerUserRoaming.

    注意

    リソースのConfigurationオブジェクトを取得するには、コードに、設定を継承するすべての構成ファイルに対する読み取りアクセス許可が必要です。To get the Configuration object for a resource, your code must have read permissions on all the configuration files from which it inherits settings. 構成ファイルを更新するには、構成ファイルとそのファイルが存在するディレクトリの両方に対する書き込みアクセス許可をコードに追加する必要があります。To update a configuration file, your code must additionally have write permissions for both the configuration file and the directory in which it exists.

こちらもご覧ください

OpenExeConfiguration(String) OpenExeConfiguration(String) OpenExeConfiguration(String) OpenExeConfiguration(String)

指定したクライアント構成ファイルを Configuration オブジェクトとして開きます。Opens the specified client configuration file as a Configuration object.

public:
 static System::Configuration::Configuration ^ OpenExeConfiguration(System::String ^ exePath);
public static System.Configuration.Configuration OpenExeConfiguration (string exePath);
static member OpenExeConfiguration : string -> System.Configuration.Configuration
Public Shared Function OpenExeConfiguration (exePath As String) As Configuration

パラメーター

exePath
String String String String

実行可能 (exe) ファイルのパスです。The path of the executable (exe) file.

戻り値

例外

構成ファイルを読み込めませんでした。A configuration file could not be loaded.

OpenExeConfiguration メソッドを使用するコード例を次に示します。The following code example shows how to use the OpenExeConfiguration method.

    // Get the application configuration file.
    // This function uses the 
    // OpenExeConfiguration(string)method 
    // to get the application configuration file. 
    // It also creates a custom ConsoleSection and 
    // sets its ConsoleElement BackgroundColor and
    // ForegroundColor properties to black and white
    // respectively. Then it uses these properties to
    // set the console colors.  
    public static void GetAppConfiguration()
    {

      // Get the application path needed to obtain
      // the application configuration file.
#if DEBUG
      string applicationName =
          Environment.GetCommandLineArgs()[0];
#else
           string applicationName =
          Environment.GetCommandLineArgs()[0]+ ".exe";
#endif

      string exePath = System.IO.Path.Combine(
          Environment.CurrentDirectory, applicationName);

      // Get the configuration file. The file name has
      // this format appname.exe.config.
      System.Configuration.Configuration config =
        ConfigurationManager.OpenExeConfiguration(exePath);

      try
      {
        
        // Create a custom configuration section
        // having the same name that is used in the 
        // roaming configuration file.
        // This is because the configuration section 
        // can be overridden by lower-level 
        // configuration files. 
        // See the GetRoamingConfiguration() function in 
        // this example.
        string sectionName = "consoleSection";
        ConsoleSection customSection = new ConsoleSection();

        if (config.Sections[sectionName] == null)
        {
          // Create a custom section if it does 
          // not exist yet.
          
          // Store console settings.
          customSection.ConsoleElement.BackgroundColor =
              ConsoleColor.Black;
          customSection.ConsoleElement.ForegroundColor =
              ConsoleColor.White;

          // Add configuration information to the
          // configuration file.
          config.Sections.Add(sectionName, customSection);
          config.Save(ConfigurationSaveMode.Modified);
          // Force a reload of the changed section.
          // This makes the new values available for reading.
          ConfigurationManager.RefreshSection(sectionName);
        }
        // Set console properties using values
        // stored in the configuration file.
        customSection =
            (ConsoleSection)config.GetSection(sectionName);
        Console.BackgroundColor =
            customSection.ConsoleElement.BackgroundColor;
        Console.ForegroundColor =
            customSection.ConsoleElement.ForegroundColor;
        // Apply the changes.
        Console.Clear();
      }
      catch (ConfigurationErrorsException e)
      {
        Console.WriteLine("[Error exception: {0}]",
            e.ToString());
      }
     
      // Display feedback.
      Console.WriteLine();
      Console.WriteLine("Using OpenExeConfiguration(string).");
      // Display the current configuration file path.
      Console.WriteLine("Configuration file is: {0}", 
        config.FilePath);
    }
    ' Get the application configuration file.
    ' This function uses the 
    ' OpenExeConfiguration(string)method 
    ' to get the application configuration file. 
    ' It also creates a custom ConsoleSection and 
    ' sets its ConsoleElement BackgroundColor and
    ' ForegroundColor properties to black and white
    ' respectively. Then it uses these properties to
    ' set the console colors.  
    Public Shared Sub GetAppConfiguration()
        ' Get the application path needed to obtain
        ' the application configuration file.
#If DEBUG Then
        Dim applicationName As String = _
            Environment.GetCommandLineArgs()(0)
#Else
            Dim applicationName As String = _
                Environment.GetCommandLineArgs()(0) + ".exe"
#End If

        Dim exePath As String = _
        System.IO.Path.Combine( _
            Environment.CurrentDirectory, applicationName)

        ' Get the configuration file. The file name has
        ' this format appname.exe.config.
        Dim config As System.Configuration.Configuration = _
            ConfigurationManager.OpenExeConfiguration(exePath)

        Try

            ' Create a custom configuration section
            ' having the same name that is used in the 
            ' roaming configuration file.
            ' This is because the configuration section 
            ' can be overridden by lower-level 
            ' configuration files. 
            ' See the GetRoamingConfiguration() function in 
            ' this example.
            Dim sectionName As String = "consoleSection"
            Dim customSection As New ConsoleSection()

            If config.Sections(sectionName) Is Nothing Then
                ' Create a custom section if it does 
                ' not exist yet.

                ' Store console settings.
                customSection.ConsoleElement. _
                    BackgroundColor = ConsoleColor.Black
                customSection.ConsoleElement. _
                    ForegroundColor = ConsoleColor.White

                ' Add configuration information to the
                ' configuration file.
                config.Sections.Add(sectionName, _
                                    customSection)
                config.Save(ConfigurationSaveMode.Modified)
                ' Force a reload of the changed section.
                ' This makes the new values available 
                ' for reading.
                ConfigurationManager.RefreshSection( _
                    sectionName)
            End If
            ' Set console properties using values
            ' stored in the configuration file.
            customSection = DirectCast( _
                config.GetSection(sectionName),  _
                    ConsoleSection)
            Console.BackgroundColor = _
                customSection.ConsoleElement.BackgroundColor
            Console.ForegroundColor = _
                customSection.ConsoleElement.ForegroundColor
            ' Apply the changes.
            Console.Clear()
        Catch e As ConfigurationErrorsException
            Console.WriteLine("[Error exception: {0}]", _
                              e.ToString())
        End Try

        ' Display feedback.
        Console.WriteLine()
        Console.WriteLine( _
            "Using OpenExeConfiguration(string).")
        ' Display the current configuration file path.
        Console.WriteLine( _
            "Configuration file is: {0}", config.FilePath)
    End Sub

注釈

クライアントアプリケーションは、すべてのユーザーに適用されるグローバル構成、個々のユーザーに適用される構成、およびローミングユーザーに適用される構成を使用します。Client applications use a global configuration that applies to all users, separate configurations that apply to individual users, and configurations that apply to roaming users. userLevelは、開いている構成ファイルの場所を決定します。The userLevel value determines the location of the configuration file being opened. これは、ユーザーレベルがない (構成ファイルがアプリケーションと同じディレクトリにある) か、ユーザーごとのレベルにある (構成ファイルがユーザーレベルの種類によって決まるアプリケーション設定パスにある) かを示します。It indicates whether it has no user level (the configuration file is in the same directory as the application) or has a per-user level (the configuration file is in an application settings path determined by the user level type.).

このメソッドのオーバーロードを呼び出すことはOpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel, Boolean)preLoadパラメーターをにfalse設定してオーバーロードを呼び出すことと同じです。Calling this method overload is equivalent to calling the OpenMappedExeConfiguration(ExeConfigurationFileMap, ConfigurationUserLevel, Boolean) overload with the preLoad parameter set to false.

こちらもご覧ください

適用対象