Cambios necesarios para ejecutar proyectos de Office migrados a .NET Framework 4
Si la versión de .NET Framework de destino de un proyecto de Office cambia a .NET Framework 4 a partir de una versión anterior de .NET Framework, deberá realizar las siguientes tareas para asegurarse de que la solución se puede ejecutar en el equipo de desarrollo y en los equipos de los usuarios finales:
Quite SecurityTransparentAttribute del proyecto si lo actualizó a partir de Visual Studio 2008.
Aplique un comando Clean en Visual Studio para poder ejecutar o depurar el proyecto en el equipo de desarrollo.
Actualice el requisito previo de .NET Framework para el proyecto.
Los usuarios finales también deben volver a instalar la solución si se implementó anteriormente mediante ClickOnce antes de cambiar la versión de .NET Framework de destino.
Para obtener más información sobre estas tareas, vea a continuación las secciones correspondientes.
Si actualiza un proyecto de Office desde Visual Studio 2008 y la versión de .NET Framework de destino del proyecto cambia posteriormente a .NET Framework 4, debe quitar SecurityTransparentAttribute del proyecto. Visual Studio no quita automáticamente este atributo. Si no quita este atributo, la solución no se cargará y se notificará el siguiente error.
"Se han infringido reglas de seguridad por parte del tipo: 'clase de elemento host del proyecto'. Los tipos derivados deben tener la misma accesibilidad de seguridad que el tipo base o ser menos accesibles".
Para obtener más información sobre las condiciones en las que Visual Studio puede cambiar la versión de .NET Framework de destino para un proyecto actualizado a .NET Framework 4, vea Actualizar y migrar soluciones de Office.
Con el proyecto abierto en Visual Studio, abra el Explorador de soluciones.
Bajo el nodo Propiedades (para C#) o el nodo Mi proyecto (para Visual Basic), haga doble clic en el archivo de código AssemblyInfo de modo que se abra en el editor de código.
Nota
Para ver el archivo de código AssemblyInfo en los proyectos de Visual Basic, haga clic en el botón Mostrar todos los archivos del Explorador de soluciones.
Busque el atributo SecurityTransparentAttribute y quítelo del archivo o márquelo como comentario.
<Assembly: SecurityTransparent()>
[assembly: SecurityTransparent()]
Si un proyecto de Office se compiló antes de que la versión de .NET Framework de destino del proyecto cambiara a .NET Framework 4, deberá ejecutar un comando Clean y, a continuación, recompilar el proyecto después de cambiar la versión de .NET Framework de destino. Si no se ejecuta el comando Clean, se producirá una excepción COMException cuando se intente depurar o ejecutar el proyecto cuyo destino ha cambiado.
Para obtener más información sobre el comando Clean, vea Información general acerca del proceso de compilación de soluciones de Office.
Cuando redestina un proyecto de Office a .NET Framework 4, también debe actualizar el requisito previo de .NET Framework correspondiente en el cuadro de diálogo Requisitos previos. De lo contrario, la implementación ClickOnce o el programa de instalación de Windows Installer buscará e instalará una versión anterior de .NET Framework.
Para obtener más información sobre cómo actualizar los requisitos previos de la implementación en los equipos de los usuarios finales, vea Cómo: Instalar los requisitos previos en equipos de usuarios finales para ejecutar las soluciones de Office.
Si utiliza ClickOnce para implementar una solución de Office destinada a .NET Framework 3.5 y, a continuación, redestina el proyecto a .NET Framework 4, los usuarios finales deberán desinstalar la solución y, a continuación, reinstalarla después de que vuelva a publicarla. Si vuelve a publicar la solución cuyo destino ha cambiado y se actualiza la solución en los equipos de los usuarios finales, se producirá una excepción COMException cuando los usuarios finales ejecuten la solución actualizada.
Para obtener más información sobre cómo desinstalar soluciones, vea Cómo: Desinstalar una solución de Office ClickOnce.
Migrar soluciones de Office a .NET Framework 4
Fecha |
Historial |
Motivo |
---|---|---|
Mayo de 2010 |
Se ha agregado una sección que explica cómo quitar SecurityTransparentAttribute de los proyectos actualizados desde Visual Studio 2008. |
Mejora de la información. |