Using VS2008 and .net 3.5, Microsoft.Build.BuildEngine.Engine is obsolete in .net 4.0
var engine = new Microsoft.Build.BuildEngine.Engine();
var proj = new Microsoft.Build.BuildEngine.Project(engine);
proj.Load(project.FullName);
foreach (Microsoft.Build.BuildEngine.Import import in proj.Imports)
{
contieneTargets = import.ProjectPath.ContainsWithStringComparison("Microsoft.VisualStudio.SharePoint.targets", StringComparison.InvariantCultureIgnoreCase);
Trace.WriteLine("\t Import Project: " + import.ProjectPath);
if (contieneTargets) break;
}
Only a problem: when this code is executed several times, I get some error that the project yet loaded.
System.InvalidOperationException: An equivalent project (a project
with the same global properties and tools version) is already present
in the project collection, with the path "test.csproj". To load an
equivalent into this project collection, unload this project first.