BuildDependency.AddProject Method
Adds a project to the list of projects that must be built first.
Namespace: EnvDTE
Assembly: EnvDTE (in EnvDTE.dll)
Syntax
'Declaration
Sub AddProject ( _
ProjectUniqueName As String _
)
void AddProject(
string ProjectUniqueName
)
void AddProject(
String^ ProjectUniqueName
)
abstract AddProject :
ProjectUniqueName:string -> unit
function AddProject(
ProjectUniqueName : String
)
Parameters
ProjectUniqueName
Type: System.StringRequired. The name of the project from the UniqueName property to add as a dependency.
Remarks
If a call to AddProject creates a build dependency cycle, then the call fails.
Examples
Sub AddProjectExample(ByVal dte As DTE)
' Create a new solution.
Dim soln As Solution = dte.Solution
Dim solnName As String = "NewSolution.sln"
Dim tempPath As String = System.IO.Path.GetTempPath()
soln.Create(tempPath, solnName)
' Create two new Visual Basic Console Application projects.
Dim templatePath As String = <template path>
templatePath &= "ConsoleApplication.vsz"
Dim projName As String = "Project1"
soln.AddFromTemplate(templatePath, tempPath & projName, projName)
Dim proj1 As Project = soln.Item(1)
projName = "Project2"
soln.AddFromTemplate(templatePath, tempPath & projName, projName)
Dim proj2 As Project = soln.Item(2)
' Make Project1 dependent on Project2.
Dim bd As BuildDependency = _
soln.SolutionBuild.BuildDependencies.Item(proj1.UniqueName)
bd.AddProject(proj2.UniqueName)
' Enumerate Project1's dependencies.
Dim depends As String = ""
Dim proj As Project
For Each proj In CType(bd.RequiredProjects, Array)
depends &= proj.Name & vbCrLf
Next
MsgBox(bd.Project.Name & " has the following dependencies:" & _
vbCrLf & vbCrLf & depends)
End Sub
public void AddProjectExample(DTE dte)
{
// Create a new solution.
Solution soln = dte.Solution;
string solnName = "NewSolution.sln";
string tempPath = System.IO.Path.GetTempPath();
soln.Create(tempPath, solnName);
// Create two new C# Console Application projects.
string templatePath = <template path>;
templatePath += "CSharpConsole.vsz";
string projName = "Project1";
soln.AddFromTemplate(templatePath, tempPath + projName,
projName, false);
Project proj1 = soln.Item(1);
projName = "Project2";
soln.AddFromTemplate(templatePath, tempPath + projName,
projName, false);
Project proj2 = soln.Item(2);
// Make Project1 dependent on Project2.
BuildDependency bd =
soln.SolutionBuild.BuildDependencies.Item(proj1.UniqueName);
bd.AddProject(proj2.UniqueName);
// Enumerate Project1's dependencies.
string depends = "";
foreach (Project proj in (Array)bd.RequiredProjects)
{
depends += proj.Name + Environment.NewLine;
}
MessageBox.Show(bd.Project.Name +
" has the following dependencies:" + "\r\n\r\n" + depends);
}
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.
See Also
Reference
Other Resources
How to: Compile and Run the Automation Object Model Code Examples