Refining the Versioning Story
Wesner Moise reports on a talk that Jeff Richter did on the .NET versioning story in the Longhorn time frame. Some interesting quotes:
- “a library could not easily be updated since the CLR looked for an exact version match. There was a complex way to solve this problem through policy files; however, even engineers at Microsoft found this approach too difficult.”
- “Microsoft has a new approach for Longhorn and Orcas (.NET v3.0), which divides assemblies into two categories, Platforms and Libraries.”
- “Most assemblies will or should be libraries. Microsoft discourages the use of platform assemblies.”
- “There are actually three types of platform assemblies: System-wide, process-wide, and app domain-wide.”
- “Longhorn will no longer support multiple CLRs. Every managed application will be forced to use the latest version of the CLR on the system.”
- “Whidbey is expected to include an Assembly attribute, AssemblyFlagsAttribute, which allows to developer to specify Library, AppDomainPlatform, ProcessPlatform, SystemPlatform, or Legacy to identify the versioning scheme the CLR uses to load a reference assembly.”
I know that the existing versioning story doesn’t cut it for a lot of folks. Will this new model solve the problems? Is there a complexity danger?