App.config 大字符串值的可读性

App.config readability for large string values

我在 appSettings 中有各种键,每个键都有一个长字符串,其中包含如下值:

<add key="rightsTable" value="{LibraryNames='xxx',Folders='xxx',UserNames='xxx',RoleDefinitionNames='xxx'} {LibraryNames='yyy',Folders='yyy',UserNames='yyy',RoleDefinitionNames='yyy'} {LibraryNames='zzz',Folders='zzz',UserNames='zzz',RoleDefinitionNames='zzz'}" />

现在,在 App.config 中,为了便于阅读,我将字符串重新排列如下:

<add key="rightsTable" 
     value=
     " 
{LibraryNames='xxx',Folders='xxx',UserNames='xxx',RoleDefinitionNames='xxx'}
{LibraryNames='yyy',Folders='yyy',UserNames='yyy',RoleDefinitionNames='yyy'}
{LibraryNames='zzz',Folders='zzz',UserNames='zzz',RoleDefinitionNames='zzz'}
     "
/>

然而,每当我发布项目时,生成的 App.config 都会转换为:

 <add key="rightsTable" value="&#xD;&#xA;{LibraryNames='xxx',Folders='xxx',UserNames='xxx',RoleDefinitionNames='xxx'}&#xD;&#xA;{LibraryNames='yyy',Folders='yyy',UserNames='yyy',RoleDefinitionNames='yyy'}&#xD;&#xA;{LibraryNames='zzz',Folders='zzz',UserNames='zzz',RoleDefinitionNames='zzz'}" />

请注意,由于该文件是 XML,因此将换行符编码为 &#xD;&#xA; 并将所有字符串放在一行中。

我想知道是否有一种方法可以发布 App.config 而不会弄乱换行符。

或者,是否可以将字符串值保留在其他文件中?所以 App.config 可以从文件中读取值而不会弄乱格式

正如@jwdonahue 所建议的,当具有需要多行的大文本值时,最好将其保存在外部文件中,然后使用保存在配置文件中的文件路径加载它。我将此设置为答案,以便关闭此问题。