我们每年多次发布产品更新,我们需要能够对客户的 web.configs 进行更改。
我们希望能够通过 c# 应用这些更改。
有没有人使用过ctt.exe程序并为它实现了一个包装类?在最初的测试中,它似乎去除了所有不理想的空白。
我们每年多次发布产品更新,我们需要能够对客户的 web.configs 进行更改。
我们希望能够通过 c# 应用这些更改。
有没有人使用过ctt.exe程序并为它实现了一个包装类?在最初的测试中,它似乎去除了所有不理想的空白。
找到了 Microsoft.Web.XmlTransform 库,它可以完美地解决这个问题,而无需 3rd 方工具。
using Microsoft.Web.XmlTransform;
...
using (XmlTransformableDocument document = new XmlTransformableDocument())
using (XmlTransformation transformation = new XmlTransformation(transformFilePath))
{
document.PreserveWhitespace = true;
document.Load(sourceFilePath);
var success = transformation.Apply(document);
if (!success)
{
string message = string.Format(
"There was an unknown error trying while trying to apply the transform. Source file='{0}',Transform='{1}', Destination='{2}'",
sourceFilePath, transformFilePath, destinationFilePath);
throw new Exception(message);
}
document.Save(destinationFilePath);
}