SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Fehler beim bereitstellen eines Custom Timer Jobs

Geprüfte Antwort Dieser Beitrag hat 6 Antworten

Ohne Rang
152 Beiträge
Michael Hoffmann erstellt 4 Juli 2011 14:03
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Zusammen,

ich hab versucht nach dieser Anleitung einen Custom Timer Job zu erstellen. (http://dotnetfinder.wordpress.com/2010/07/24/creatingcustomsharepointtimerjob2010/ ) Leider bekomme ich immer folgende Fehlermeldung:

Fehler 1 Fehler im Bereitstellungsschritt "Lösung hinzufügen": Fehler beim Erstellen des Empfängerobjekts von der Assembly "Custom_TimerJob, Version=1.0.0.0, Culture=neutral, PublicKeyToken=74322e720100405c", Klasse "$SharePoint.Type.09c3370b-7e4c-4642-9ed1-09f24b71ae69.FullName$" für das Feature "Custom_TimerJob_Feature1" (ID: 8470b929-8749-4998-b515-2dc7d7214eaa).: System.ArgumentNullException: Value cannot be null.
Parameter name: type
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
  0 0 Custom_TimerJob

Bitte um Hilfe.

Danke und Gruß
Michael H.

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 4 Juli 2011 14:14
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Michael Hoffmann"]Klasse "$SharePoint.Type.09c3370b-7e4c-4642-9ed1-09f24b71ae69.FullName$"[/quote]

Sieht aus, als ob Visual Studio die Tokens für den Klassennamen nicht übersetzt hat. Dort sollte der vollqualifizierte Klassenname (also inkl. Namensraum) stehen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
152 Beiträge
Michael Hoffmann Als Antwort am 4 Juli 2011 14:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich habs das Projekt schon komplett neu erstellt. Das hilft aber auch nicht.
Hast du eine Idee wie ich das Problem gelöst bekomme?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 4 Juli 2011 14:52
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du mußt Dir die elements.xml anschauen. Für TimerJobs gibt es keine Standardvorlage in Visual Studio, also muß es etwas selbstgebautes sein. Irgendwo dort wird eine Receiver-Assembly und -Klasse mit Visual Studio Token definiert ($bla$) und das wird nicht ordentlich übersetzt.

Die Klasse wird dabei über eine GUID referenziert und diese GUID muß bei der Klasse mit einem GuidAttribute angegeben sein. Du kannst aber die Klasse samt Namensraum auch fest eintragen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
152 Beiträge
Michael Hoffmann Als Antwort am 4 Juli 2011 15:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

ich hab in dem Projekt gar keine elements.xml.
Wie gesagt, ich habe mich einfach blind an die vorher gepostete Anleitung gehalten.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 4 Juli 2011 15:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

OK, ich habe natürlich die verlinkte Anleitung nicht angeschaut :-(

Du hast dort einen EventReceiver für das Feature (Feature1EventReceiver). Direkt zur Klasse gehört ein GuidAttribute [Guid(1234...)]. Das hast Du entweder entfernt oder verändert.

Wenn Du das Feature per Doppelklick in Visual Studio öffnest, findest Du im Eigenschaftenfenster zwei Eigenschaften ReceiverAssembly und ReceiverClass, in der die besagten Token $bla$ stehen. Für die ReceiverClass kannst Du auch fest den Klassennamen samt Namensraum einsetzen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
152 Beiträge
Michael Hoffmann Als Antwort am 4 Juli 2011 15:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Vielen vielen Dank!!