私はVisual Studio 2015でvb.net開発プロジェクトに取り組んでおり、実行時にプロジェクトのapp.configを順番に編集できるようにする必要がありますさまざまなWebサイトの役割とメンバーシップ・プロバイダにアクセスできます。私はApplicationServices のconnectionStringsセクションと会員とroleManagerプロバイダセクションでのapplicationName設定で設定を変更できるようにしたいと思います。私が使用して上記のようなプロジェクトのapp.config ファイルから設定を取得しようとしています実行時に実行時にさまざまな役割とメンバーシッププロバイダのためにapp.configを編集する方法
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<connectionStrings>
<clear />
<add name="ApplicationServices" connectionString="Data Source=.\SQLEXPRESS; Integrated Security=True; User Instance=False; Connect Timeout=30; Initial Catalog=MYWEBSITE" providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<membership>
<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" applicationName="/" passwordFormat="Encrypted" enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="true" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="8" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="5" />
</providers>
</membership>
<roleManager enabled="true">
<providers>
<clear />
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
</system.web>
</configuration>
:私はこのようにして、プロジェクトのベースディレクトリ内の初期のapp.configファイルを編集しています以下のコード:
Public Shared Function ReadAllConfigSettings(ByRef Configs(,) As String) As Boolean
ReadAllConfigSettings = False
Configs.Initialize()
Dim ConfigCounter As Integer = 0
Dim config As System.Configuration.Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
Try
Dim Settings = config.AppSettings.Settings
If Settings.Count = 0 Then
ReadAllConfigSettings = False
Exit Function
Else
For Each key As String In Settings.AllKeys
ConfigCounter = ConfigCounter + 1
Configs(ConfigCounter, 1) = key
Configs(ConfigCounter, 2) = Settings(key).Value
Next
ReadAllConfigSettings = True
End If
Catch e As ConfigurationErrorsException
ReadAllConfigSettings = False
End Try
End Function
IがCの設定= config.AppSettings.Settingsラインから取り出さ設定コレクション上記のコードを実行しますODEは常にnullエントリを持つ空で、Settings.Countは、私はこれは私がはapp.configファイルに追加した設定を取得していない、と私は続けることができない理由として困惑しています0
です私はそれらを取得する方法を見つけることができない場合、それらを変更するために働く。誰かが私を正しい方向に向けることができますか?
ありがとうございます!私はのapp.configファイルを編集しようとせずにそれを行うための方法であるように思われる解決策を考え出した再思考プロセスの後
デビッド