Claims
- 1. A computer-implemented method, comprising:
receiving a request corresponding to binding at least one shared assembly to executable code; and interpreting configuration information to determine a version of a shared assembly to bind to the executable code, wherein the configuration information is separate from the shared assembly.
- 2. The computer-implemented method of claim 1 wherein interpreting configuration information includes redirecting one assembly version to another assembly version.
- 3. The computer-implemented method of claim 1 wherein the executable code comprises an application program, and further comprising, associating the application program with an application configuration having redirection information therein.
- 4. The computer-implemented method of claim 3 wherein associating the application configuration with the application program comprises storing the application configuration in a folder containing the application program.
- 5. The computer-implemented method of claim 3 wherein interpreting configuration information includes redirecting an assembly version from the other assembly version to a third assembly version according to at least one other configuration.
- 6. The computer-implemented method of claim 5 wherein the at least one other configuration comprises a publisher configuration.
- 7. The computer-implemented method of claim 5 wherein the at least one other configuration comprises an administrator configuration.
- 8. The computer-implemented method of claim 1 further comprising, associating at least one assembly version with a publisher configuration having redirection information therein, wherein interpreting configuration information includes interpreting the publisher configuration.
- 9. The computer-implemented method of claim 8 wherein associating the publisher configuration with at least one of the assembly versions comprises storing the publisher configuration in an assembly cache containing at least one of the assembly versions.
- 10. The computer-implemented method of claim 1 wherein interpreting configuration information includes interpreting an administrator configuration.
- 11. The computer-implemented method of claim 10 further comprising, storing the administrator configuration in a system folder.
- 12. The computer-implemented method of claim 1 further comprising, caching data identifying the version of the shared assembly determined from interpreting the configuration information.
- 13. The computer-implemented method of claim 1 wherein the executable code comprises an application program, and wherein interpreting configuration information includes interpreting at least one of an application configuration, a publisher configuration and an administrator configuration, each configuration having redirection information therein for redirecting one assembly version to another assembly version.
- 14. The computer-implemented method of claim 1 wherein the executable code comprises an application program, and wherein interpreting configuration information includes interpreting at least one of a publisher configuration and an application configuration, each configuration having redirection information therein for redirecting one assembly version to another assembly version.
- 15. The computer-implemented method of claim 1 wherein the executable code comprises an application program, and wherein the configuration comprises an application configuration, a publisher configuration and an administrator configuration, and wherein interpreting the configuration includes, determining whether a safe mode of operation is present, and if so, interpreting the application configuration and the administrator configuration but not interpreting the publisher configuration.
- 16. A computer-readable medium having computer-executable instructions for performing the method of claim 1.
- 17. A system in a computing environment, comprising:
an manifest including information that specifies a dependency of executable code on an identified version of a shared assembly; a configuration including information that redirects at least one version of a shared assembly to another version of that shared assembly; and a binding mechanism configured to receive a request directed to execute the executable code, to select the identified version of the shared assembly from the manifest, and to interpret the configuration to determine whether to redirect the identified version in the manifest to another version identified in the configuration.
- 18. The system of claim 17 further comprising an activation context configured to maintain assembly version mapping information, wherein the binding mechanism saves assembly version information to the activation context.
- 19. The system of claim 18 further comprising a version matching mechanism configured to access the activation context to relate a version independent request from the executable code to a version specific assembly.
- 20. The system of claim 18 wherein the activation context is persistable to a non-volatile storage.
- 21. The system of claim 17 wherein the executable code comprises an application program in the form of a file maintained in an application folder, and wherein the manifest comprises another file maintained in the application folder.
- 22. The system of claim 21 wherein the configuration includes an application configuration file maintained in the application folder.
- 23. The system of claim 22 wherein the configuration further includes a publisher configuration file maintained in an assembly cache with at least one version of the assembly.
- 24. The system of claim 23 wherein the configuration further includes an administrator configuration.
- 25. The system of claim 17 wherein the configuration includes at least one of an application configuration data structure, a publisher configuration data structure and an administrator configuration data structure.
- 26. The system of claim 17 wherein the configuration includes configuration version data associated therewith.
- 27. A computer-readable medium having computer-executable modules configured to implement the system of claim 17.
- 28. A computer-implemented method, comprising:
receiving a request corresponding to binding a selected version of an assembly to an application program; determining whether publisher configuration information is associated with the assembly, and if so, interpreting information in the publisher configuration to determine whether to bind to the application program a version of the assembly that is different from the selected version, and if so, selecting that different version as the selected version of the assembly for binding to the application program; and determining whether application configuration information is associated with the application, and if so, interpreting the application configuration information to determine whether to bind to the application program a version of the assembly that is different from the selected version, and if so, selecting that different version as the selected version of the assembly for binding to the application program.
- 29. The method of claim 28 further comprising, returning information corresponding to the selected version of the assembly in response to the request.
- 30. The method of claim 28 further comprising, loading the selected version of the assembly in response to the request.
- 31. The method of claim 30 wherein the selected version is loaded from a folder containing the application program.
- 32. The method of claim 30 wherein the assembly is a shared assembly maintained in an assembly cache, and wherein the selected version is loaded from the assembly cache.
- 33. A computer-implemented method, comprising:
receiving a request corresponding to binding a selected version of an assembly to an application program; determining whether application configuration information is associated with the application, and if so, interpreting the application configuration information to determine whether to bind to the application program a version of the assembly that is different from the selected version, and if so, selecting that different version as the selected version of the assembly for binding to the application program; determining whether publisher configuration information is associated with the assembly, and if so, interpreting information in the publisher configuration to determine whether to bind to the application program a version of the assembly that is different from the selected version, and if so, selecting that different version as the selected version of the assembly for binding to the application program; and determining whether administrator configuration information exists, and if so, interpreting administrator configuration information to determine whether to bind to the application program a version of the assembly that is different from the selected version, and if so, selecting that different version as the selected version of the assembly for binding to the application program.
- 34. The method of claim 33 further comprising, returning information corresponding to the selected version of the assembly in response to the request.
- 35. The method of claim 33 further comprising, loading the selected version of the assembly in response to the request.
- 36. The method of claim 35 wherein the selected version is loaded from a folder containing the application program.
- 37. The method of claim 35 wherein the assembly is a shared assembly maintained in an assembly cache, and wherein the selected version is loaded from the assembly cache.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims priority to U.S. Provisional Patent Application Serial No. 60/199,227, filed Apr. 24, 2000, and is also related to copending United States Patent Application entitled “Isolating Assembly Versions for Binding to Application Programs” filed concurrently herewith.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60199227 |
Apr 2000 |
US |