Thanks jose for replying my question.
My problem regarding project reference is still not solved.I am not using any recipe argument to refer referencing project and referenced project.I am using Software factork toolkit
I just use custom action thatI declare atCreateSolution.xml file
<Action Type="mypackage.Actions.AddProjectReference,mypackage" Name="Addref">
And at AddProjectReference.cs file I do
***********************************************************AddProjectReference.cs***********************************
protected override void OnExecute()
{
string projectName = "Portal.Test.Business";
string refProject = "Portal.Test.Shared";
AddReference(projectName, refProject);
}
private void AddReference(string projectName, string refProject)
{
EnvDTE.DTE dte = (EnvDTE.DTE)GetService(typeof(EnvDTE.DTE));
Project project = null;
Project referenceProject = null;
foreach (Project proj in dte.Solution.Projects)
{
if (proj != null)
{
if (proj.Name.Equals(projectName))
{
project = proj;
}
else if (proj.Name.Equals(refProject))
{
referenceProject = proj;
}
}
}
if (project != null && referenceProject != null)
{
VSLangProj.VSProject aVsproject = (VSLangProj.VSProject)referenceProject.Object; aVsproject.References.AddProject(project);
}
}
************************************************************************************************************************************
I have an embedded structure of solution folders ,my solution.vstemplate file is:
*****************************************Solution.vstemplate*********************************************
<TemplateContent>
<ProjectCollection>
<SolutionFolder Name="Folder1">
<SolutionFolder Name="Folder2">
<SolutionFolder Name="Folder3">
<SolutionFolder Name="Folder4">
<SolutionFolder Name="$ProjectName$">
<ProjectTemplateLink ProjectName ="Portal.$ProjectName$.Shared">Projects\Folder1\Folder2\Folder3\Folder4\TEST\Portal.TEST.Shared\MyTemplate.vstemplate</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="Portal.$ProjectName$.Business">Projects\Projects\Folder1\Folder2\Folder3\Folder4\TEST\Portal.Test.Business\MyTemplate.vstemplate</ProjectTemplateLink>
</SolutionFolder>
</SolutionFolder>
</SolutionFolder>
</SolutionFolder>
</SolutionFolder>
</ProjectCollection>
</TemplateContent>
*********************************************************************************************************************************************
This structure also contains 7 more projects and solutions folders.
Now in my AddProjectReference.cs file as I describe above,the foreach loops runs only ones,i.e it loop only to folder1 and exit.Thus I am not able to get value at project and referenceproject variable.
I am to assign project and referenceproject variables with referenced project and referencing project which can only be possible with foreach (Project proj in dte.Solution.Projects).
Tell me how can I achive this.
Thanks to everyone in this forums,