【发布时间】:2010-02-05 22:50:29
【问题描述】:
(基本上我们想在 *.csproj 文件的某些地方导入目标文件,否则检查文件是否符合我们的标准)
这样做的最佳方法是什么?我打算使用 C# 和 XDocument (LINQ to XML) 并操作节点。但这是最好的方法吗?其他替代品可能是:
- 找到 csproj/msbuild 的 XSD 并创建代表项目文件的 stronly 类型对象。这可能吗?
- 是否有其他更好的工具/语言(可以以此为借口学习 Ruby)。答案必须有一些指向用于操作 XML 的示例的链接。
也许真正的问题是:以编程方式读取和操作 XML 的最佳方式是什么?
【问题讨论】:
-
您最好的选择是使用某种 VS 自动化。你真的不应该直接弄乱这些文件。
-
@Moron:我不明白为什么不这样做。它们基本上是 MSBuild 文件。 IMO 的全部 point 它们是 XML(而不是它们是不透明的二进制文件)是它们是可编辑的。
-
@Jon 理想情况下我不会说“可编辑”。可读,当然。但是当他们升级到新版本的 VS 时,编辑它们可能会有问题。除非我们谈论的是非常简单的改变。
-
好吧,(我认为)我已经看到版本之间的不兼容。您不希望您的代码在下一个版本发布时中断。也许我对不同的文件类型感到困惑。无论如何,如果 VS 提供了一些操作它们的方法,为什么不使用它呢? (不是我说 VS 提供了一种方法……)。
-
@Moron:在再次使用 VS API 之前,我宁愿将 LINQ to XML 代码更改 1000 次。