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