我想知道如何使用Empty Visual C++项目的模板以编程方式用这个空项目创建一个新的解决方案。代码(C#)我有现在的问题是:如何以编程方式创建空的Visual C++项目?
string VSProgID = "VisualStudio.Solution.10.0";
Type solnObjType = System.Type.GetTypeFromProgID(VSProgID, true);
Solution4 soln = (Solution4) System.Activator.CreateInstance(solnObjType, true);
soln.Create(@"C:\NewSoln", "New");
soln.SaveAs(@"C:\NewSoln\New.sln");
string emptyVCProjPath = soln.GetProjectTemplate("General/Empty Project", "VC++"); // Here's where I need help
soln.AddFromTemplate(emptyVCProjPath, @"C:\NewSoln\NewProj", "New.vcxproj", false);
我没能找到VC++空项目模板,在所有其他模板(C#/ F#/ VB)所在的位置。当我通过IDE手动创建一个新项目时,VC++空项目模板确实出现在已安装的模板中。 soln.GetProjectTemplate()
应该是什么参数?它似乎不承认"VC++"
作为一种语言。我知道"CSharp"
和"VisualBasic"
是有效的选项。但我想要一个VC++空项目。任何帮助将不胜感激。
仅仅创建一个空的VC++项目并将其用作模板就足够了吗? – AVIDeveloper 2012-02-17 21:00:25
我正在考虑这个,但从目前为止我收集的内容来看,模板应该是ZIP格式。打开空项目后,我尝试使用“导出模板”功能,但它被禁用。我不确定如何获取包含必要文件的ZIP作为模板。我也不明白的是:项目文件中的所有GUID发生了什么?他们是否为新项目重新生成? – 2012-02-17 21:55:33
我也找不到一个准备好的VC++模板。但我的建议是自己动手做。即:创建一个空的VC++项目,并根据需要进行设置;保存;在文本编辑器中打开;为您想要生成的任何数据添加占位符(例如#GUID#,#CPP_FILES#等)。现在这是你自己的VC++模板。当你想创建一个新项目时,从你的C#代码中打开你的模板文件,用适当的数据替换占位符,你就完成了。 – AVIDeveloper 2012-02-17 22:17:57