Is Enterprise Library 5.0 backwards compatible with Enterprise Library 4.1? Can I just change the reference and have it w开发者_JAVA技巧ork?
The definitive answer is: maybe.
It really depends on the scenario and how you have used the blocks. In the best case scenario you could replace the assembly references, change the configuration and it should work.
From Microsoft Enterprise Library 5.0 Change Log:
Major architectural revisions in Enterprise Library to use the dependency injection mechanism. [...] Enterprise Library no longer uses the static facades and static classes that were used in previous versions. However, these facades and classes are still included in Enterprise Library for backwards compatibility with existing application code, and you can continue to use the previous approach to creating Enterprise Library objects.
Of course, things rarely seem to work out that way so, to help resolve any issues and go through the migration approach, you should definitely read:
Microsoft Enterprise Library 5.0 Change Log: Breaking Changes
Microsoft Enterprise Library 5.0 Migration Guide.
In a nutshell, we've tried hard to keep public facing API backward compatible as much as possible. And for most users, the upgrade path would be pretty much the change of references and a rebuild.
The architectural refactoring mentioned above includes major revisions of internal guts. However, you should not be affected unless you write custom blocks. BTW, guidance on EntLib5.0 extensibility (including on how to write custom blocks) will be available soon.
Two references above (the Change Log and the Migration Guide) will help you with migration. So far, most people who I spoke with commented on a pretty easy and straightforward experience.
Please let me know what yours was and whether you ran into any issues.
Regards,
Grigori Melnik
Enterprise Library Producer
精彩评论