Skip to content

Conversation

@tmat
Copy link
Member

@tmat tmat commented Dec 4, 2024

Enables scenario where a shared library Lib is references by multiple executable projects A and B and Lib.dll is copied to their respective output directories and the following events occur:

  1. A is launched, modules A.exe and Lib.dll [1] are loaded.
  2. Change is made to Lib.cs and applied.
  3. B is launched, which builds new version of Lib.dll [2], and modules B.exe and Lib.dll [2] are loaded.
  4. Another change is made to Lib.cs and applied.

At this point we have two baselines for Lib: Lib.dll [1] and Lib.dll [2], each have different MVID.
We need to emit 2 deltas for the change in step 4:

  • one that chains to the first delta applied to Lib.dll, which itself chains to the baseline of Lib.dll [1].
  • one that chains to the baseline Lib.dll [2]

Both of these deltas are sent to the debugger, which applies them to all processes.

Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2308982,https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2309003

@tmat tmat requested a review from a team as a code owner December 4, 2024 22:55
@ghost ghost added Area-Interactive untriaged Issues and PRs which have not yet been triaged by a lead labels Dec 4, 2024
@tmat
Copy link
Member Author

tmat commented Dec 5, 2024

@davidwengier ptal

@tmat tmat merged commit 0ba9562 into dotnet:main Dec 6, 2024
25 checks passed
@tmat tmat deleted the MultiBaseline branch December 6, 2024 00:18
@dotnet-policy-service dotnet-policy-service bot added this to the Next milestone Dec 6, 2024
@dibarbet dibarbet modified the milestones: Next, 17.13 P3 Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area-Interactive untriaged Issues and PRs which have not yet been triaged by a lead VSCode

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants