我正在尝试使用WSP Builder创建自定义操作,我的文件夹结构是这样的,

现在,当我尝试部署解决方案时,没有任何出现,但我在我的ULS日志中收到此错误,

无法从装配'',class''中创建一个控制:控制 使用汇编名称'',URL的Web不允许使用'类名'' ''。该类型未注册为安全。

我自己删除了装配名,但是我读到了这个另一个问题他们要求添加 manifest.xml 文件,但不确定它将去哪里以及是否使用WSP创建WSPBuilder将在WSP中包含ManiceSt.xml,并将解决问题?

有帮助吗?

解决方案

您可以将空 module 添加到您的项目中,打开属性窗口并设置新添加模块的安全控制实体属性。此属性允许添加安全控件的集合。

其他提示

您需要将其添加到FeatureActivated函数中的功能Recives

        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();
.

上面的代码会添加该功能或任何可能用于Web.config的安全控件!这是推荐的方式,并通过最佳实践遵守。因此,当您激活功能时,它将添加安全控件:)

编辑

更多可以在此类似于上面的例子!是的,这是最好的实践,并通过Microsoft informicyy放置了在没有手动执行它的情况下注册SafeControl,并且每次在Web应用程序中激活所需Web.config上的功能时会自动添加它。无需执行此操作次:):

web.config修改的集合是一组命令, 在Microsoft SharePoint中的Web.config Manipulator处理时 Foundation,更改Web.config文件的状态。你可以字符串 一组这些命令将他们申请所需的命令 Web.config中的标记和属性。每种修改都表达出来 作为管理对象模型中的对象。

使用spwebapplication的webconfigmodifications属性或 spwebservice类获取web.config修改的集合 无论是在Web应用程序中还是在所有Web应用程序中 网络服务。应用您定义的修改 spwebonfigmodification类到服务器中的web.config文件 农场,致电当前应用程序WeabConfigmodifications方法 内容Web服务对象,如下所示: spwebservice.contentservice.applyWebConfigModifications

http://msdn.microsoft.com/ en-US / Library / Microsoft.SharePoint.Administration.spwebconfigmodification.aspx

希望它有助于:)

编辑2

如果它是一个webpart,那么是的,你应该有一个名为manifest.xml的清单文件,其中:

<?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>
.

希望它脱掉一些光线:)

许可以下: CC-BY-SA归因
scroll top