ProjectCollection.GlobalProjectCollection.LoadedProjects find a replacement

Issue #8 closed
Denis Kuzmin repo owner created an issue

find a replacement for LoadedProjects... extremely unpredictable behavior with loaded collections (#3, #5) + many problems with paths (#5, #6) and problem #7 with the solution context like "Undefined" prop. etc.

Comments (3)

  1. Denis Kuzmin reporter

    MSBuild API Reference

    • Microsoft.Build.BuildEngine
    • Microsoft.Build.Construction
    • Microsoft.Build.Conversion
    • Microsoft.Build.Debugging
    • Microsoft.Build.Evaluation
    • Microsoft.Build.Exceptions
    • Microsoft.Build.Execution
    • Microsoft.Build.Framework
    • Microsoft.Build.Framework.XamlTypes
    • Microsoft.Build.Logging
    • Microsoft.Build.Tasks
    • Microsoft.Build.Tasks.Deployment.Bootstrapper
    • Microsoft.Build.Tasks.Deployment.ManifestUtilities
    • Microsoft.Build.Tasks.Hosting
    • Microsoft.Build.Tasks.Xaml
    • Microsoft.Build.Utilities

    Variants

    Microsoft.Build.BuildEngine

    Engine & Project Class has been deprecated. This API is now obsolete.

    see also in #7

  2. Denis Kuzmin reporter

    stable with the EnvDTE._Solution.Projects:

    protected IEnumerable<EnvDTE.Project> DTEProjects
    {
        get
        {
            foreach(EnvDTE.Project project in dte2.Solution.Projects)
            {
                if(String.IsNullOrEmpty(project.FullName) || String.IsNullOrEmpty(project.Name)) {
                    continue;
                }
                yield return project;
            }
        }
    }
    

    if GlobalProjectCollection is empty:

    [TRACE]: selected = dteProject: 'D:\prg\projects\FlightSDC++\FlightSDC++\natpmp\natpmp.vcxproj'
    [DEBUG]: getProject->selected 'D:\prg\projects\FlightSDC++\FlightSDC++\natpmp\natpmp.vcxproj'
    [TRACE]: tryLoadPCollection :: 'D:\prg\projects\FlightSDC++\FlightSDC++\natpmp\natpmp.vcxproj' [Debug_natpmp ; Win32]
    [DEBUG]: Properties has been saved in the cache. ['natpmp']
    

    if exist with variants of configuration:

    [TRACE]: selected = dteProject: 'D:\prg\projects\FlightSDC++\FlightSDC++\natpmp\natpmp.vcxproj'
    [TRACE]: isEquals for 'D:\prg\projects\FlightSDC++\FlightSDC++\StrongDC.vcxproj' : 'natpmp' [Release_natpmp = Debug ; x64 = Win32]
    [TRACE]: isEquals for 'D:\prg\projects\FlightSDC++\FlightSDC++\zlib.vcxproj' : 'natpmp' [Release_natpmp = Debug ; x64 = Win32]
    [TRACE]: isEquals for 'D:\prg\projects\FlightSDC++\FlightSDC++\miniupnpc\miniupnpc.vcxproj' : 'natpmp' [Release_natpmp = Debug ; x64 = Win32]
    [TRACE]: isEquals for 'D:\prg\projects\FlightSDC++\FlightSDC++\natpmp\natpmp.vcxproj' : 'natpmp' [Release_natpmp = Debug_natpmp ; x64 = Win32]
    [DEBUG]: getProject->selected 'D:\prg\projects\FlightSDC++\FlightSDC++\natpmp\natpmp.vcxproj'
    [TRACE]: tryLoadPCollection :: 'D:\prg\projects\FlightSDC++\FlightSDC++\natpmp\natpmp.vcxproj' [Release_natpmp ; x64]
    [DEBUG]: Properties has been saved in the cache. ['natpmp']
    
  3. Log in to comment