Visual Studio 2013 Web.Config 转换 - 如何禁用自动格式/换行符?

问题描述 投票:0回答:2

我们目前正在使用 VS 2013 开发适用于多种环境(开发/测试/质量保证/产品)的 asp.net (silverlight) 应用程序,并且当前在发布版本时正在使用 Web 转换功能。

我们在主 web.config 中有一些行非常长(如 400 多列)。我们意识到,为了可读性,正确的方法应该是将它们分成多行,但在我们的特定情况下,我们希望它们保持原样。

因此,问题在于,如果您使用 Web 转换发布并指向其中一个发布配置文件,则生成的 Web.Config 文件将不会保留这一长行。在转换过程中,它会自动拆分(自动换行)为多行,以便于阅读。我理解微软这样做的原因,但我认为肯定会有一个简单的设置,我们可以禁用任何“自动格式化”、“自动换行”等。但是我没有找到它。

无需经历完整发布的麻烦即可查看行为的另一种方法是,例如,右键单击解决方案资源管理器中主 Web.Config 条目下的 Web.Test.Config,然后选择“预览转换” 。在这里,您将能够清楚地看到转换后的版本如何自动格式化以及如何为主 Web.Config 中超过一定数量字符的行放置换行符。如果可能的话,我们希望关闭此行为...我们只希望更改/转换实际值,而不是格式。

有谁知道这是否可能,如果可以,如何实现?难道只是我们错过了一些简单的设置?

最后 - 几个简单的例子。如果我在从主 Web.Config 转换为 Web.Test.Config 时运行“预览转换”来预览更改,我会看到以下行为:

主 web.config 中的这一行:

<add verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXXXXXXXX"/>

在最终发布的 web.config 中变成这样:

<add verb="*" path="Reserved.ReportViewerWebControl.axd"
type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXXXXXXXX"/>

主 web.config 中的这一行:

<sessionState timeout="300"></sessionState>

在最终发布的 web.config 中变成这样:

<sessionState timeout="300">
</sessionState>

预先感谢您提供的任何帮助。

c# asp.net .net visual-studio-2013 web-config
2个回答
0
投票

您可以通过将以下属性添加到 Web.config 文件中的元素来禁用 Visual Studio 2013 的 Web.config 转换中的自动格式/换行符:xml:space="preserve"。这将在转换期间保留 Web.config 文件中的空白。


0
投票

您可以在 Visual Studio 中查看工具 > 选项 > 文本编辑器 > XML > 格式。此设置可能会对您有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.