当前位置: 首页 > 编程语言 > C#

ENVDTE-将新项目添加到现有解决方案并将其定位到特定文件夹Share

时间:2023-04-10 15:00:03 C#

ENVDTE-将新项目添加到现有解决方案并将其定位到特定文件夹VisualStudio向导模板是使用c#在vi??sualstudio2012上编写的.我遵循了MSDN的步骤:我创建了一个VS模板,然后用一个实现了IWizard接口的类创建了一个类库项目,我配置了.vstemplate文件,等等......在我的类库项目中,我创建了Copyan中某处的现有解决方案,我将新生成的项目添加到解决方案中,然后运行它。我这样做:publicvoidRunStarted(objectautomationObject,DictionaryreplacementsDictionary,WizardRunKindrunKind,object[]customParams){$specifiedsolutionname$"];EmulationDir=@"MY_PATHTestSln";DirectoryCopy(EmulationDir,solutionDir);dte=(DTE2)automationObject;}publicvoidRunFinished(){Solution2solution;Projectp;solution=(Solution2)dte.Solution;解决方案.Open(solutionDir+"\TestSln.sln");p=solution.AddFromFile(destProjectDir+"\"+projName+".vcxproj");}但我必须将新项目添加到解决方案的特定子文件夹中:上面的代码直接将新项目添加到解决方案中,我想将其添加到solutionDirapps中。你知道该怎么做吗?谢谢!!您可以使用SolutionFolder接口完成此操作:Projectproject=getSolutionSubFolder(solution,"SubFolderName");if(project!=null){SolutionFolder文件夹=(SolutionFolder)project.Object;folder.AddFromFile("你的项目文件路径");其中getSolutionSubFolder方法如下所示:以上是C#学习教程:ENVDTE-添加新项目到现有解决方案并将其定位在特定文件夹中如果它对每个人都有用并且需要进一步了解C#我希望分享所有内容您将更加关注教程—privatestaticProjectgetSolutionSubFolder(Solution2solution,stringsubfolder){returnsolution.Projects.Cast().FirstOrDefault(p=>string.Equals(p.Name,subfolder,StringComparison.Ordinal));}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: