Can we avoid binding redirects since Locator controls binding?

Open
#83 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
csharp
Domain
build-system

Research direction

Start with the MSBuildLocator loading behavior and the app.config binding redirects described in the issue. Determine whether Locator can perform the required MSBuild assembly unification without client redirects, and validate that clients still load the engine's assemblies by location; the result should establish whether redirects can be removed safely.

Written by the indexing model from the issue text.

Description

Currently Locator pushes MSBuild binding redirects into the app.config of the app that references it.

MSBuild requires assembly unification because a new version of MSBuild must be able to run tasks compiled against an older MSBuild, so we must unify to the engine's version of ITask and ITaskItem and so on.

However, MSBuildLocator is in charge of loading MSBuild assemblies, and can do some unification itself. Is that sufficient to drop the need to have app.config binding redirects for client applications?

If this worked, we could more freely rev MSBuild's assembly version, since we'd be binding by location rather than version.

Dominant language
C#
Stars
262
Forks
91
Avg merge
11d 22h
Merged PRs (30d)
3

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.

More from microsoft/MSBuildLocator

All issues in microsoft/MSBuildLocator

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.