2009-06-23 17 views
7

Creo que es probable que sea una pregunta genérica de carga de ensamblados .NET, pero en mi caso específico, quiero que mis características de SharePoint apunten a un ensamblado cuyo control de versiones está asociado con el número correcto de revisión de SVN.Características de SharePoint: ¿Cómo puedo usar el control de versiones de comodines?

Mis ensamblajes están ahora versionados como se menciona en this article. Me gustaría poder configurar mis funciones de SharePoint para usar la versión más reciente del ensamblado que está en el GAC.

<Feature Id="7b5d86e8-17dc-4943-8f4e-ad1068daf4f9" 
     Title="My happy feature" 
     Scope="Web" 
     Version="1.0.0.0" 
     Hidden="FALSE" 
     DefaultResourceFile="core" 
     ReceiverAssembly="HappyFeature, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d772fbab82fe6896" 
     ReceiverClass="HappyFeature.Receivers.HappyItemEventReceiver" 
     xmlns="http://schemas.microsoft.com/sharepoint/"> 
</Feature> 

Cuando hago esto, SharePoint, por supuesto, no se puede encontrar el montaje porque el nombre seguro no coincide con la versión 1.0.0.0 se describe aquí. Mi versión actual en mi ensamblado es 1.0.4479.26553, por lo que me gustaría que mis características puedan encontrar automágicamente versiones de ensamblajes numeradas de manera similar. ¿Cómo puedo hacer esto?

con cierta ingenuidad Probé algo como esto:

ReceiverAssembly="HappyFeature, Version=1.0.*, Culture=neutral, PublicKeyToken=d772fbab82fe6896" 

y

ReceiverAssembly="HappyFeature, Version=1.0.*.*, Culture=neutral, PublicKeyToken=d772fbab82fe6896" 

Pero cuando intento de desplegar mi solución como tal, todavía parece estar en busca de un archivo con el 1,0 .0.0 versión:

Característica '7b5d86e8-17dc-4943-8f4e-ad1068daf4f9' no se pudo instalar porque la carga del receptor de eventos ensambló "HappyFeature, Version = 1.0. ., Culture = neutral, PublicKeyToken = d772fbab82fe6896" fallado: System.IO.FileNotFoundException: Podría no cargar el archivo o ensamblado 'HappyFeature, Version = 1.0.0.0, Culture = neutral , PublicKeyToken = d772fbab82fe6896' o una de sus dependencias el sistema no puede encontrar el archivo especificado archivo nombre:.. 'HappyFeature, Version = 1.0.0.0, Culture = neutral , PublicKeyToken = d772fbab82fe6896'

¿Cuál es la forma correcta de forzar el marco para cargar mis ensamblajes de características de versión incrementada?


EDIT: Por lo tanto, mientras que en realidad no resolver la cuestión específica que había pedido, la sugerencia de Ryan resolvió mi problema práctico de sólo ser capaz de seleccionar mis montajes con información relacionada con el SVN mientras que conserva la capacidad de cargar mis ensamblajes con éxito en el mundo SharePoint FeatureReceiver.

Respuesta

8

Lo que podría hacer es mantener AssemblyVersion igual (al menos mientras sea una 'versión principal compatible') pero use la misma técnica para poner el número de revisión SVN en la propiedad AssemblyFileVersion.

Entonces no tendrá que seguir actualizando los archivos de la Política del editor.

KB556041 - How to use Assembly Version and Assembly File Version

Supongamos que usted está construyendo un montaje de marco para su proyecto que es utilizado por muchos de los desarrolladores mientras que la construcción de los ensamblados de aplicación. Si lanza una nueva versión del ensamblaje con mucha frecuencia ... y si los ensamblajes tienen un nombre fuerte, los desarrolladores tendrán que cambiar la referencia cada vez que suelte un ensamblaje nuevo ... Una mejor opción en ese grupo cerrado y en escenarios volátiles sería arreglar el 'Versión de ensamblaje' y cambie solo la 'Versión del archivo de ensamblaje'.

SO - What are the differences between AssemblyVersion and AssemblyFileVersion

+0

Gracias ... Miré a la política editorial y parecía un poco de pollo y el huevo a mí, y me parecía que todavía tienen que saber la versión de destino. También jugué con AssemblyFileVersion y eso me da lo que necesito: simplemente una forma de etiquetar mis ensamblajes con mi información de revisión SVN. Gracias. –

Cuestiones relacionadas