繁体   English   中英

VS 2010配置转换在部署期间产生不需要的空白区域

[英]VS 2010 configuration transformation produces unwanted white space during deployment

我使用新的VS 2010配置转换来部署网站。 要替换我的ApplicationSettings的单个设置,我使用以下配置转换:

<setting name="TempPath" serializeAs="String" xdt:Transform="Replace" xdt:Locator="Match(name)">
    <value>C:\TEMP</value>
</setting>

备注: C:\\ TEMP和结束标记之间没有空格

此转换会导致设置不需要的空白区域,如下所示:

<setting name="TempPath" serializeAs="String">
    <value>C:\TEMP
    </value>
</setting>

如果我使用此设置而不修剪它,我会出现错误的行为。

任何想法?

这是VS 2010的已知问题 。根据Microsoft的说法,它将针对Service Pack和下一版本进行修复。

更新

SP1的最终版本解决了这个问题。 不再需要使用删除不需要的换行的变通方法。

我只是想提一下,john.rummell在MS连接问题页面上发布了一个解决方法,它对我来说完美无缺。 只需将其添加到您的项目中:

internal sealed partial class Settings
{
    public override object this[string propertyName]
    {
        get
        {
            // trim the value if it's a string
            string value = base[propertyName] as string;
            if (value != null)
            {
                return value.Trim();
            }

            return base[propertyName];
        }
        set { base[propertyName] = value; }
    }
}

Xml格式化空间。 因为XML标记的内容不关心换行符和空格。 如果你想拥有字符串值,我强烈建议把它放在属性中,而不是InnerValue

<setting name="TempPath" value="C:\TEMP">
</setting>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM