Versioning the publisher policy file for your assemblies

Source: Microsoft Support

RAPID PUBLISHING

RAPID PUBLISHING ARTICLES PROVIDE INFORMATION DIRECTLY FROM WITHIN THE MICROSOFT SUPPORT ORGANIZATION. THE INFORMATION CONTAINED HEREIN IS CREATED IN RESPONSE TO EMERGING OR UNIQUE TOPICS, OR IS INTENDED SUPPLEMENT OTHER KNOWLEDGE BASE INFORMATION.

Action



Create and install an assembly A with a Version number (e.g. 1.0.0.0) in the GAC.  Now you wish to install an updated version of A in the GAC, but this time with the same major/minor number in the assembly version (e.g. 1.0.0.1).  Now also suppose you are providing the publisher policy file with all versions of assembly A to redirect the applications to the highest version of assembly A present in the GAC.


 





See How to: Create a Publisher Policy:  http://msdn.microsoft.com/en-us/library/dz32563a.aspx

Result



 When you install the policy file for assembly version 1.0.1.0 in the GAC, this will overwrite the policy file you installed for assembly version 1.0.0.0 because both the policy files have the same name:  “policy.1.0.mainAssemblyName.dll”


Note that policy files are named in the following format  policy.majorNumber.minorNumber.mainAssemblyName.dll

Resolution



Resolve this problem by versioning the policy file the same as the assembly version, using the following command. 


cmd> al /link:MyDll.dll.config  /v:1.0.1.0  /out:policy.1.0.MyDll.dll /keyfile:mykey.key


This will result in a policy file  named “policy1.0.myDll.dll,” and when you install this in the GAC, use cmd> gacutil /i  policy1.0.myDll.dll.


You see this version 1.0.1.0 with the policy file in the GAC.

DISCLAIMER

MICROSOFT AND/OR ITS SUPPLIERS MAKE NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY, RELIABILITY OR ACCURACY OF THE INFORMATION CONTAINED IN THE DOCUMENTS AND RELATED GRAPHICS PUBLISHED ON THIS WEBSITE (THE “MATERIALS”) FOR ANY PURPOSE. THE MATERIALS MAY INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS AND MAY BE REVISED AT ANY TIME WITHOUT NOTICE.


TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, MICROSOFT AND/OR ITS SUPPLIERS DISCLAIM AND EXCLUDE ALL REPRESENTATIONS, WARRANTIES, AND CONDITIONS WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO REPRESENTATIONS, WARRANTIES, OR CONDITIONS OF TITLE, NON INFRINGEMENT, SATISFACTORY CONDITION OR QUALITY, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE MATERIALS.
Eigenschappen

Artikel-id: 958925 - Laatst bijgewerkt: 17 okt. 2008 - Revisie: 1

Feedback