Тип не зарегистрирован в качестве безопасных «пользовательских действий»
-
09-12-2019 - |
Вопрос
Я пытаюсь создать пользовательские действия, используя BURIDER WSP, мою структуру папки - это что-то подобное,
Теперь, когда я пытаюсь развернуть решение ничего не приходит, однако я получаю эту ошибку в своем журнале ULS,
не удалось создать элемент управления от сборки '', класс '': контроль С именем сборки '', «имя класса» не допускается для Web на URL ''.Тип не зарегистрирован в качестве безопасного.
Я сам удалил сборки имена, однако я прочитал это
Решение
Вы можете добавить пустой
Другие советы
Вам нужно добавить это к функции featureActived для рециркуляции функции
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 Specialy для регистрации SafeControls, не делая его вручную, и он автоматически получает добавление каждый раз, когда вы активируете функцию в необходимом Web.config, во INCEPPLICES так Times :):
Коллекция модификаций Web.config - это набор команд, которые, При обработке манипулятора Web.config в Microsoft SharePoint Фонд, измените состояние файла web.config. Вы можете строчать вместе набор этих команд, чтобы убедиться, что они применяют желаемое Теги и атрибуты в Web.config. Каждая модификация выражена в качестве объекта в модели административного объекта.
Используйте свойство WebConfigmodifications of the spwebaplication или Класс SPWEBSERVICE, чтобы получить коллекцию модификаций Web.config либо в веб-приложении или во всех веб-приложениях в пределах Веб-сервис. Применить модификации, которые вы определяете через Класс spwebconfigmodification к файлам web.config на сервере Ферма, позвоните методу ApplyWaconFigmodifications на текущем Объект содержимого веб-сервиса, следующим образом: Spwebservice.contentservice.applywebconfigmodifications
Надеюсь, это поможет :)
Редактировать 2 Если это веб-сайт, то да, у вас должен быть файл манифеста под названием Mainesest.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>
Надеюсь, это пролится немного :)