dopo che Microsoft ha contrassegnato BuildEngine.Engine e BuildEngine.Project come obsoleti ho provato a utilizzare la nuova proposta di Microsoft come si può vedere sotto. Ma non ho idea di dove posso integrare il file xmlproject. È qui qualcuno che conosce la soluzione di questo problema?Migrare Microsoft.Build.BuildEngine.Engine in Microsoft.Build.Evaluation.ProjectCollection
Il file di progetto XML contenuti
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ProjectToBuild Include ="myproject.csproj" />
</ItemGroup>
<Target Name="Build">
<MSBuild Projects="@(ProjectToBuild)"
Properties="Configuration=Debug" StopOnFirstFailure="true" />
</Target>
</Project>
Il vecchio e di lavoro di versione (ma obsoleta)
Microsoft.Build.BuildEngine.Engine engine = new Microsoft.Build.BuildEngine.Engine();
engine.DefaultToolsVersion = "4.0";
engine.RegisterLogger(new ConsoleLogger());
Microsoft.Build.BuildEngine.Project project = new Microsoft.Build.BuildEngine.Project(engine);
project.Load(xmlprojectfile);
if (!project.Build())
{
Console.ReadLine();
}
Il nuovo non funziona verison
Microsoft.Build.Evaluation.ProjectCollection collection = new Microsoft.Build.Evaluation.ProjectCollection();
collection.DefaultToolsVersion = "4.0";
collection.RegisterLogger(new ConsoleLogger());
Microsoft.Build.Evaluation.Project project = new Microsoft.Build.Evaluation.Project(collection);
if (!project.Build())
{
Console.ReadLine();
}