我正在使用Visual C#的节俭。
Thrift可以选择编译为C#,但是,当许多C#项目使用thrift时,添加new并逐个删除thrift生成的旧源会很累 - 将thrift编译为C#只会为每个thrift结构创建一个.cs文件
我考虑编写简单的应用程序,它将使用新生成的thrift文件创建/更新Visual Studio 2012项目文件。是否有任何工具/库帮助这些?从空项目中获取现有项目文件,更改GUID并仅修改文件列表是否安全?
答案 0 :(得分:5)
使用Microsoft.Build.Construction
命名空间中的类应该相对容易。
您从打开现有(方法ProjectRootElement
)或创建新文件(方法Open
)获得的Create
开头。或者你可以使用单个文件作为模板,并始终从那开始(只设置一个新的GUID确实是安全的)。
然后,只需找到包含源文件的ProjectItemGroupElement
(即具有“编译”项目的文件)并向其添加文件。
与设置新GUID类似,您会查找名为“ProjectGuid”的ProjectpropertyElement
并使用Guid.NewGuid().ToString( "B" )
设置新值。
保存根元素并完成。