Sharepoint 2010 регистрирует контроль как безопасный через wsp
Я создал решение Sharepoint 2010 "Hello World", используя VS2010. Он содержит только функцию и веб-часть, содержащую метку. Я зарегистрировал веб-часть в качестве безопасного элемента управления в окне "Свойства" веб-части в VS2010.
Когда я развертываю свое решение на локальном сервере, все работает отлично! Я могу добавить веб-часть на страницу, и в файле web.config мой элемент управления добавляется в список SafeControls. Когда я устанавливаю то же решение на другом сервере, я вижу веб-часть в списке доступных веб-частей, но когда я пытаюсь добавить его на страницу, он говорит мне, что он не зарегистрирован как безопасный. Когда я проверяю файл web.config, там нет записи для моего контроля. Если я добавлю один вручную (тот, что с моего сервера разработки), все начнет работать.
Теперь мне интересно, почему элемент управления не регистрируется при установке файла wsp. Манифест внутри wsp содержит следующую строку:
<Assemblies>
<Assembly Location="abc.TestWebPart.dll" DeploymentTarget="GlobalAssemblyCache">
<SafeControls>
<SafeControl Assembly="abc.TestWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e262c75e6f6e8440" Namespace="abc.TestWebPart.VisualWebPart1" TypeName="*" />
</SafeControls>
</Assembly>
Любые идеи очень приветствуются!
3 ответа
Поздний ответ знаю.
Я думаю, что в вашем теге SafeControl отсутствует ' Safe="TRUE".
Правильный код:
<Assemblies>
<Assembly Location="abc.TestWebPart.dll" DeploymentTarget="GlobalAssemblyCache">
<SafeControls>
<SafeControl
Assembly="abc.TestWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e262c75e6f6e8440"
Namespace="abc.TestWebPart.VisualWebPart1"
TypeName="*"
Safe="TRUE"
/>
</SafeControls>
</Assembly>
</Assemblies>