Quantcast
Channel: Visual Studio Integrate forum
Viewing all articles
Browse latest Browse all 4410

Dependencies of the solution folders.

$
0
0

I create solution folder programmatically. How to create a dependency that solution folder from another solution folder?

|--- SolutionFolder
|          |--- SolutionFolder
|          |--- SolutionFolder
|--- SolutionFolder

Here is my code:

(object sender, EventArgs args) =>
{
	Guid slnFldrGuid = new Guid("2150E333-8FDC-42A3-9474-1A3956D46DE8");
	Guid iidProject = typeof(IVsHierarchy).GUID;

	IVsSolution solution = GetService<IVsSolution, SVsSolution>();
	IVsHierarchy parent = UIShellUtilities.GetSelectedHierarchy();
	IVsHierarchy nested = null;

	IntPtr project = IntPtr.Zero;
	int canceled = 0;

	if ((null != solution) && (null != parent))
	{
		IVsProjectFactory factory = null;

		ErrorHandler.ThrowOnFailure(solution.GetProjectFactory(
			0, new Guid[] { slnFldrGuid }, null, out factory));

		try
		{
			ErrorHandler.ThrowOnFailure(factory.CreateProject(
				null, null, "New My Folder", 0, ref iidProject,  out project, out canceled));

			if (project != IntPtr.Zero)
			{
				nested = Marshal.GetTypedObjectForIUnknown(project, typeof(IVsHierarchy)) as IVsHierarchy;

				Debug.Assert(nested != null, "Nested hierarchy could not be created");
				Debug.Assert(canceled == 0);
			}
		} finally
		{
			if (project != IntPtr.Zero)
				Marshal.Release(project);
		}

		uint itemid = VSConstants.VSITEMID_ROOT;

		// Link into the nested VS hierarchy.
		//ErrorHandler.ThrowOnFailure(nested.SetProperty(VSConstants.VSITEMID_ROOT, (int)__VSHPROPID.VSHPROPID_ParentHierarchy, parent));
		//ErrorHandler.ThrowOnFailure(nested.SetProperty(VSConstants.VSITEMID_ROOT, (int)__VSHPROPID.VSHPROPID_ParentHierarchyItemid, (object)itemid));
	}
}





Viewing all articles
Browse latest Browse all 4410

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>