microsoft / microsoft/WindowsAppSDK

_MrtCoreUpToDateCheckInput recursively calls GetMrtPackagingOutputs during design-time builds.

Open
#3,753 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area-MRTCore
Dominant language
C++
Stars
4.7k
Forks
471
Avg merge
3d 13h
Merged PRs (30d)
28

Description

### Describe the bug

_MrtCoreUpToDateCheckInput target hooks into design-time builds via CollectUpToDateCheckInputDesignTime. This target has a DependsOnTargets on GetMrtPackagingOutputs which calls itself recursively calls on all transitive projects references.

In solution with lots of projects using WinAppSDK this results in a significant performance decrease for both project loading as well as design-time builds done by Visual Studio.

### Steps to reproduce the bug

N/A

### Expected behavior

The expected behavior for design-time builds and FUTDC (Fast Up To Date Check) is to only collect info for the current project.

### Screenshots

_No response_

### NuGet package version

Windows App SDK 1.3.2: 1.3.230602002

### Packaging type

Packaged (MSIX)

### Windows version

Windows 11 version 22H2 (22621, 2022 Update)

### IDE

Visual Studio 2022

### Additional context

_No response_

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read the _MrtCoreUpToDateCheckInput and CollectUpToDateCheckInputDesignTime target definitions, then trace their DependsOnTargets relationship to GetMrtPackagingOutputs. Verify completion by confirming that design-time builds and FUTDC collect data only for the current project without recursively invoking packaging outputs for transitive project references.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.