簡體   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