(小ネタ).NETで設定ファイル(***.config)の値に半角スペースを使用する方法
.NETで設定ファイル(Web.configやApp.config)の値に半角スペースを使用したい場合がたまにあります。
代表的なのはDBの接続文字列で、AttachDbFilenameにmdfファイルのパスを指定する場合です。
コンソールアプリケーションで、SQL Server 2012 Express LocalDBを使用して開発しようとした時に、 デフォルトのままプロジェクトを作成すると、「C:\Users\ユーザー名\Documents\Visual Studio 2013\Projects\」の配下にソリューション(その下にプロジェクト)が出来てしまいます。
ユーザー名、ソリューション(プロジェクト)名に半角スペースを含まないように注意することは出来ますが、"Visual Studio 2013"は変更しようがありません。というか、変更したくありません。
また、そのプロジェクトでしか使わないので、mdfファイルはプロジェクト内に置きたいです。
コマンドプロンプトでの実行であれば、半角スペースを含んだパスをダブルクォートで囲んでしまえば良いのですが、接続文字列は以下のようにconnectionString属性に設定するためにすでにダブルクォートを使用しています。
<add name="SampleDB" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=mdfファイルのパス
それでは、どうするかというとAttachDbFilenameの値を"で囲んでしまいます。
<add name="SampleDB" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename="C:\Users\ユーザー名\Documents\Visual Studio 2013\Projects\ソリューション名\プロジェクト名\Database1.mdf"" />
これによって、connectionStringの値がプログラムで使用されるときに、AttachDbFilenameの値がダブルクォートで囲まれるようになります。
"は、XMLの記法なので設定ファイルの他の値でも使用できます。
結論
.NETで設定ファイル(Web.configやApp.config)の値に半角スペースを使用するには、"で囲む