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

时间:2018-10-03 20:56:57

标签: c# visual-studio web-config app-config

我在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可以从文件中读取值,而不会弄乱格式

1 个答案:

答案 0 :(得分:0)

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