2009-11-04 3 views
0

Я создал веб-сайт и хочу развернуть его в Sharepoint. Я хочу развернуть веб-часть в корзине.Сильное имя необходимо в Sharepoint для использования WebPart?

Я не создал сильное имя для dll (код веб-сайта). Является ли сильное имя обязательным для развертывания webpart в папке bin?

Я ссылался на эту ссылку msdn для этого.

http://technet.microsoft.com/en-us/library/cc263271.aspx

Когда я иду в WebPart галерею и хотите, чтобы заполнить веб-часть, она не отображается в веб-части галереи.

Любая помощь будет оценена по достоинству.

ответ

1

Сильное имя не обязательно для разработки Sharepoint, но это ваш самый простой вариант.

Вы можете также использовать WSPBuilder (SharePoint WSP tool) для развертывания WebParts

+0

Я хочу, чтобы развернуть веб-части в папке бин приложения. Я не хочу использовать WSPBuilder. Я копирую и вставляю файлы. Эта копия не работает. Я также попробую WSPBuilder. –

+0

Вы также можете дать 'VSeWSS' попытку –

+0

IMHO, VSeWSS не масштабируется в расширенном проекте SharePoint –

0

я обычно Строгое имя мои сборки, потому что я не хочу, чтобы открыть его в дальнейшем, что мои сборки нуждается в сильном имя, только в случае, если сборка является используется каким-то другим способом, чем я изначально планировал.

У меня также были некоторые проблемы, связанные с событиями в Sharepoint, где отражение используется для выполнения функций, основанных на информации о классе и сборке (возможно, хранящихся в базе данных), поэтому, если впоследствии добавить сильное имя, вам необходимо обновить места, где использовалось старое событие (например, в списках), иначе ваши функции не пострадают. С другой стороны, если у вас есть сильное имя, то это легко bu, используя web.config assembly redirect

Мне нравится ваша идея, хотя у вас есть сборка в корзине, таким образом вы можете использовать CAS, который обеспечивает больше контроля для администраторов.

Чтобы решить эту проблему, вы можете начать с добавления сильного имени и развертывания сборки в GAC, а затем добавить свою .webpart (или .dwp) в галерею веб-частей. Если это сработает, вы можете попробовать переместить сборку в папку bin, а затем удалить сильное имя.

Возможно, вы захотите развернуть веб-страницу в функции и добавить код, необходимый для добавления файла .webpart в галерею на лету, поэтому вам не нужно беспокоиться о файле, это может быть выполнено с помощью кода с использованием функции приемник

using (SPWeb web = site.OpenWeb()) 
{ 
    web.AllowUnsafeUpdates = true; 
    site.AllowUnsafeUpdates = true;  
    SPList list = web.Lists["Web Part Gallery"]; 
    SPFolder root = list.RootFolder; 
    SPFile spFile = root.Files.Add("ContentEditor.dwp", s); 
    spFile.Update(); 
} 

или с помощью CAML XML

<?xml version="1.0" encoding="utf-8"?> 
<Feature Id="8425EAF8-6GBE-4698-83C7-831CA8614D6D" 
     Title="WebPart" 
     Description="Some description" 
     ImageUrl="GenericFeature.gif" 
     Scope="Site" 
     xmlns="http://schemas.microsoft.com/sharepoint/"> 
    <ElementManifests> 
     <ElementManifest Location="elements.xml" /> 
    </ElementManifests> 
</Feature> 

<?xml version="1.0" encoding="utf-8"?> 
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"> 
    <Module 
     Name="WebPart" 
     List="113" 
     Url="_catalogs/wp" 
     RootWebOnly="TRUE"> 
     <File Url="WebPart.dwp" Type="GhostableInLibrary" /> 
    </Module> 
</Elements>