Sharepoint 2013-Benutzerdefinierte Zeitgeberauftrag ausgeführt development server aber nicht auf Produktions-server

Entwickelt ich eine custom timer Jobs für SharePoint 2013 in visual studio 2012 sendet die E-Mail-Benachrichtigungen. Das Problem ist, dass es funktioniert gut auf Entwicklungs-server.

Habe ich befolgt die folgenden Schritte aus, um zu Debuggen, die auf die Entwicklung von server 1.) Bereitstellen der timer-job auf der jeweiligen Seite. 2.) Starten Sie den Zeitgeber-Dienst in services.msc 3.) Dann ist es an den Prozess Anhängen owstimer ausgeführt, in visual studio. 4.) Und schließlich Gehen Sie auf SharePoint 2013-zentrale Verwaltung->Monitoring->Überprüfung der Job-Definition, und klicken Sie auf den jeweiligen timer job und sagen "jetzt ausführen".

Danach den Haltepunkt in visual studio bei der Execute() Methode. Also in der Entwicklungs-server ausgeführt wird.

Nun auf den Produktions-server kann ich nicht Debuggen mit visual studio, so habe ich bereitgestellt, das die Pauschale Lösung(.wsp).

Ich kann sehen, dass die Funktion aktiviert ist in " Site Collection Administration-> Site Collection Features.

Nun auf den Produktions-server, die ich befolgen Sie die folgenden Schritte aus 1.)Starten Sie den Zeitgeber-Dienst in services.msc 2.)Und schließlich Gehen Sie auf SharePoint 2013-zentrale Verwaltung->Monitoring->Review Job

Weiter zu prüfen, ob die timer-job ist die Arbeit auf Produktions-server oder nicht ich hatte PortalLog.LogString("Flow test1"); zu Beginn der Execute () - Methode. Jetzt läuft auf dem Entwicklungs-server, und ich sehe die Nachricht in die SharePoint-Protokolle, sondern auf den Produktions-server kann ich nicht sehen "Flow " Test1" in den logs, nachdem ich auf Jetzt Ausführen klicken Sie im central admin.

Kann jeder jeden schlagen, was ist das Problem und eine mögliche Lösung?

  • Tun Sie den job in der Liste Verlauf in CA? Gibt es eine Ausnahme in den ULS logs?
  • Nein, ich kann sehen, der timer job nur im job defnitions, kann ich weder sehen es in der job-Geschichte noch in die Ausführung von jobs und auch die Letzte Ausführungszeit N/A
  • Und was ist mit ULS, jede Ausnahme? Haben Sie überprüfen Sie, ob alle Baugruppen sind im GAC?
  • Nein, es gibt keine Ausnahme-ULS-noch gibt es eine benutzerdefinierte Nachricht, die ich versuche zu drucken, in den logs. Auf dem Entwicklungs-server, wo der timer-job ist die Arbeit dort ist keine solche dll in den GAC
  • Wo stellen Sie die DLL, die die Arbeit? Es muss bereitgestellt werden, um die GAC zu belastbar sein, die von der SP-Timer-service.
  • Können Sie mir die genaue Vorgehensweise, um die Bereitstellung ein Zeitgeberauftrag entwickelt in visual studio 2012 auf Produktions-server, wo es kein visual studio
  • Im VS erstellen Sie ein SharePoint-Projekt und die Umsetzung der Arbeit im Projekt oder fügen Sie der job-Montage auf die Lösung Paket (siehe dieser). Bereitstellen des Pakets für die Produktion-server mit Hilfe von PowerShell (siehe dieser). Dann stellen Sie sicher, dass der job-Montage vorhanden ist, die im GAC.
  • Ich habe das timer-job mithilfe von visual studio 2012 dann auf veröffentlichen, so daß ich die .wsp-dann habe ich mit PowerShell bereitstellen, um die Produktion server, aber ich sehe nicht die .dll in den GAC. So habe ich Ihre Methode der expliziten Erwähnung .dll aber bei der Veröffentlichung gibt es mir einige Fehler
  • Was für Fehler? Ist die zusätzliche assembly mit starkem Namen?
  • (dies ist der Fehler, die ich in visual studio, wenn ich veröffentlichen) Beide "LS Neue Starter-Timer-Job.csproj" und "LS_New_Starter_Timer_Job" enthält eine Datei, setzt auf das gleiche Paket, Standort: CSS.LS.NewStarter.TimerJob.dll C:\Users\asamant\Documents\Visual Studio 2012\Projects\LS Neue Starter - \LS Neue Starter-Timer-Job\Paket\Paket.Paket LS Neue Starter-Timer-Job
  • genau die .dll-du redest in meiner visual studio-Projekt->bin->debug diese ein Recht

Schreibe einen Kommentar