我在visual studio 2012上使用c#编写Visual Studio向导模板。
我遵循MSDN步骤:我创建了一个VS模板,然后创建了一个类库项目,其中包含一个实现IWizard接口的类,我配置了.vstemplate文件等...
现在,我的目标是写入RunFinished()
功能代码,它执行以下操作:
在项目创建时,它使用ENVDTE
,获取项目类型并添加到此项目的解决方案.sln文件依赖项。
例如:
用户创建了一个新项目" myProject "与那种" 8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942 ",我想签署这个项目取决于另一个项目" 9E779BC1-B9D6-425C-B552-CF04B5B786A2 "
在项目创建时,此文本将添加到.sln文件中:
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "myProject", "myProject\myProject.vcxproj", "{20C9C96E-09FB-4DA3-A5C6-DE699FEF3916}"
EndProject
我希望我的代码能够编辑这个文本,所以它会像:
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "myProject", "myProject\myProject.vcxproj", "{20C9C96E-09FB-4DA3-A5C6-DE699FEF3916}"
ProjectSection(ProjectDependencies) = postProject
{9E779BC1-B9D6-425C-B552-CF04B5B786A2} = {9E779BC1-B9D6-425C-B552-CF04B5B786A2}
EndProjectSection
EndProject
至于现在我有这段代码:
DTE dte;
dte = (DTE)automationObject;
Solution solution;
solution = dte.Solution;
Projects ps = solution.Projects;
var item = ps.GetEnumerator();
while (item.MoveNext())
{
var project = item.Current as Project;
string kind = project.Kind;
//TODO: edit project dependencies...
}
你对这个问题有什么看法吗?谢谢!
答案 0 :(得分:2)
我找到了解决方案:
var bldDepends = Solution.SolutionBuild.BuildDependencies.Item(project.UniqueName);
bldDepends.AddProject("PATH\\project_name.vcxproj");
谢谢大家的帮助......