Krzysztof
Maraszkiewicz
C#, PHP,
Objective-C, Xcode,
JS, JQuery, MySQL,
CakePHP, ...
Temat: Błąd podczas instalowania features
Witam,W celu nauki stowrzyłem sobie nową funkcje pod shrepoint, ktora dodaje nowy link do menu Akcje witryny, wszystko działało dobrze do momentu gdy, dodałem do tej funkcji jej obsługę w C#. Problem polega na tym, że w żaden sposób nie mogę tej funkcji deaktywować. W tym momencie wyskakuje mi błąd:
Nie można zainstalować funkcji f875601f-e72f-4365-ab77-82d6edb1566e, ponieważ ładowanie zestawu odbiornika zdarzeń HellWorld Version=1.0.0.0 Culture=neutral PublicKeyToken=824378421b21b667 nie powiodło się: System.IO.FileLoadException: Nie można załadować pliku lub zestawu 'HellWorld Version\=1.0.0.0 Culture\=neutral PublicKeyToken\=824378421b21b667' lub jednej z jego zależności. Podana nazwa zestawu lub ścieżka bazowa kodu jest niepoprawna. (Wyjątek od HRESULT: 0x80131047)
Nazwa pliku: 'HellWorld Version\=1.0.0.0 Culture\=neutral PublicKeyToken\=824378421b21b667'
w System.Reflection.AssemblyName.nInit(Assembly& assembly, Boolean forIntrospection, Boolean raiseResolveEvent)
w System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
w System.Reflection.Assembly.Load(String assemblyString)
w Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
Wydaje mi się że coś nie tak jest napisane w kodzie tej funkcji, tylko nie mam pojęcia co jest nie tak.
Kod features.xml wygląda następująco
<?xml version="1.0" encoding="utf-8" ?>
<Feature
Id="F875601F-E72F-4365-AB77-82D6EDB1566E"
Title="Rozdzia 1: Pierwsza funkcja Hello World"
Description="To jest moja pierwsza funkcja"
Scope="Web"
Version="1.0.0.0"
Hidden="False"
ImageUrl="menuprofile.gif"
xmlns="http://schemas.microsoft.com/sharepoint/"
ReceiverAssembly="HelloWorld, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=824378421b21b667"
ReceiverClass="HelloWorld.FeaturesRecaiver"
>
<ElementManifests>
<ElementManifest Location="elements.xml"/>
</ElementManifests>
</Feature>
Kod elements.xml:
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction
Id="SiteActionsToolbar"
GroupId="SiteActions"
Location="Microsoft.SharePoint.StandardMenu"
Sequence="100"
Title="Hello Word"
Description="Wartosc menu dodana do listy"
ImageUrl="_layouts/images/menuprofile.gif"
>
<UrlAction Url="http://wp.pl" />
</CustomAction>
</Elements>
Kod obsługi funkcji
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
namespace HelloWorld
{
public class FeaturesRecaiver : SPFeatureReceiver
{
public override void FeatureInstalled(SPFeatureReceiverProperties properties)
{ }
public override void FeatureUninstalling(SPFeatureReceiverProperties properties)
{ }
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPWeb site = (SPWeb)properties.Feature.Parent;
site.Properties["OriginalTitle"] = site.Title;
site.Properties.Update();
site.Title = "Hello World";
site.Update();
}
public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
SPWeb site = (SPWeb)properties.Feature.Parent;
site.Title = site.Properties["OriginalTitle"];
site.Update();
}
}
}
Dodam jeszcze dwie fotki
1. Z właściwościami GAC
2. Z kodem automatyzującym instalowanie funkcji oraz automatycznie dodajacy ja do GAC
Za każdą pomoc z góry dziękuje.
Pozdrawiam
Krzysztof MaraszkiewiczKrzysztof Maraszkiewicz edytował(a) ten post dnia 19.08.10 o godzinie 09:45