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