3

我在 Visual C# 中使用节俭。

Thrift 可以选择编译为 C#,但是,当许多 C# 项目使用 thrift 时,添加新的和删除由 thrift 生成的旧源很累人 - 将 thrift 编译为 C# 只会为每个 thrift 结构创建一个 .cs 文件。

我考虑编写一个简单的应用程序,该应用程序将使用新生成的节俭文件创建/更新 Visual Studio 2012 项目文件。是否有任何工具/库可以帮助解决这些问题?从空项目中获取现有项目文件、更改 GUID 并仅修改文件列表是否安全?

4

1 回答 1

5

使用Microsoft.Build.Construction命名空间中的类应该相对容易。

ProjectRootElement从打开现有文件(方法Open)或创建新文件(方法Create)获得的文件开始。或者您可以使用单个文件作为模板并始终从该文件开始(设置一个新的 GUID 确实是安全的)。

然后只需找到ProjectItemGroupElement包含源文件(即具有“编译”项的文件)并向其中添加文件即可。

与设置新 GUID 类似,您需要查找ProjectpropertyElement名为“ProjectGuid”并使用Guid.NewGuid().ToString( "B" ).

保存根元素并完成。

链接到 msdn 文档

于 2013-03-12T09:48:03.723 回答