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