Document that assembly version should change for .NET Framework tasks
- Dominant language
- C#
- Stars
- 5.5k
- Forks
- 1.5k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 141
Description
As a consequence of .NET Framework assembly-load rules and MSBuild using long-lived processes to host tasks for performance, you can hit a surprising behavior:
1. Build, loading a task from `x:\NuGet\taskpackage\1.0.0\task.dll`, to get `Task, Version=0.0.0.0`
2. update projects (or NuGet package references)
3. Build, attempting the load from `x:\NuGet\taskpackage\2.2.2\task.dll`
4. But you're still using the task from 1!
That happens if the assembly identity doesn't change between NuGet package versions--so when we call `Assembly.LoadFrom`, .NET Framework just says "sure you got it" and hands us back the old version.
As a consequence, task authors should have distinct assembly versions between releases.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.