Pregunta

Estoy tratando de crear acciones personalizadas usando WSP Builder, mi estructura de carpetas es algo así,

ingrese la descripción de la imagen aquí

Ahora, cuando intento desplegar la solución, sin embargo, no tengo este error en mi registro ULS,

Error al crear un control del ensamblaje '', Clase '': el control Con nombre de montaje '', 'nombre de clase' '' no está permitido para la web en la URL ''.El tipo no está registrado como seguro.

Me quité los nombres de montaje, sin embargo, leí esto Otra pregunta que solicitan agregar manifest.xml archivo pero no estoy seguro de dónde irá y si crea un WSP con WSP usando WSP¿El constructor incluirá manifest.xml en WSP y resolverá el problema?

¿Fue útil?

Solución

Puede agregar un módulo a su proyecto, abrir propiedades y configurar entidades de control seguro propiedad de un nuevo módulo agregado.Esta propiedad permite agregar una colección de controles seguros.

Otros consejos

Debe agregar esto a la función de Featureactivated para los recuentos de características

        SPWebConfigModification safeControl = new SPWebConfigModification();
                    safeControl.Path = "configuration/SharePoint/SafeControls";
                    safeControl.Owner = ModuleNameGoesHere;
                    safeControl.Name = "SafeControl[@Assembly='assembly.Name.goes.Here, Version=1.0.0.0, Culture=neutral, PublicKeyToken=87b3480442bff091'][@Namespace=Namespace.Name.goes.Here'][@TypeName='*'][@Safe='True']";
                    safeControl.Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode;
                    safeControl.Sequence = 0;
                    safeControl.Value = "<SafeControl Assembly='assembly.Name.goes.Here, Version=1.0.0.0, Culture=neutral, PublicKeyToken=87b3480442bff091' Namespace=Namespace.Name.goes.Here' TypeName='*' Safe='True' />";
                    mService.WebConfigModifications.Add(safeControl);
                    mService.Update();
                    mService.ApplyWebConfigModifications();

El código anterior agrega la característica o sea lo que sea posible para los controles seguros en Web.config para usted! Esta es la forma recomendada y está abierta por las mejores prácticas. Entonces, cuando activa la función, agregará los controles seguros :)

editar

¡Más se puede encontrar aquí similar al ejemplo anterior! y sí, esta es la mejor práctica y fue puesta en su lugar por Microsoft Specificicy para registrar Safecontrols sin que lo realice manualmente y se agrega automáticamente cada vez que activa la función en la web. Config que está dentro de la aplicación web, por lo que no es necesario hacerlo manual. veces :):

Una colección de modificaciones web.config es un conjunto de comandos que, Cuando se procesa por el manipulador web.config en Microsoft SharePoint Fundación, cambie el estado del archivo web.config. Puedes cadenar juntos un conjunto de estos comandos para asegurarse de que apliquen el deseado Etiquetas y atributos dentro de web.config. Cada modificación se expresa. Como objeto en el modelo de objeto administrativo.

Utilice la propiedad webConfigModifications de la solicitud de SPWEB o Clase SPWEBSERVICE para obtener la colección de modificaciones web.config ya sea en la aplicación web o en todas las aplicaciones web dentro de la Servicio web. Para aplicar modificaciones que definen a través de la Clase SPWEBCONFIGMODIFICE a los archivos web.config en el servidor Farm, llame al método ApliqueWebConfigModifications en la corriente Objeto de servicio web de contenido, de la siguiente manera: Spwebservice.contentservice.applywebconfigmodifications

http://msdn.microsoft.com/ EN-EE. UU. / Library / Microsoft.SharePoint.Administration.spwebconfigmodification.aspx

espero que ayude :)

Editar 2

Si es una página web, entonces sí, debe tener un archivo manifiesto llamado Manifest.xml con lo siguiente:

<?xml version="1.0" encoding="utf-8" ?>
<Solution xmlns="http://schemas.microsoft.com/sharepoint/" SolutionId="{C1938CC9-A1A3-4e20-932C-33ECB2C47481}">
  <Assemblies>
    <Assembly DeploymentTarget="GlobalAssemblyCache" Location="WebPartsname.dll">
      <SafeControls>
        <SafeControl Assembly="namespacegoeshere, Version=1.0.0.0, Culture=neutral, PublicKeyToken=918d2ffdab83e9e8"
                     Namespace="namespacegoeshere" TypeName="*" Safe="True"/>
      </SafeControls>
    </Assembly>
  </Assemblies>
</Solution>

Espero que arroje algo de luz :)

Licenciado bajo: CC-BY-SA con atribución
scroll top