Warum fehlt die Assembly meines Projekts beim Debuggen aus dem Paket?

8

Ich habe ein SharePoint-Projekt, das ich seit einiger Zeit ohne Probleme debuggen.

Heute habe ich einen Feature-Empfänger zum einzigen Feature des Projekts hinzugefügt. Ich habe noch nichts über die leere Empfängerklasse geändert, die Visual Studio standardmäßig hinzufügt.

Der "Paket" -Befehl erzeugt jetzt ein Paket, das die DLL-Datei meines Projekts enthält (wie Sie es erwarten würden - das Hinzufügen eines Feature-Receivers sollte daran nichts ändern).

Beim Debuggen jedoch enthält das generierte Paket nicht die DLL-Datei meines Projekts und der Implementierungsaufwand schlägt mit dem folgenden Fehler fehl:

  

Fehler beim Implementierungsschritt 'Lösung hinzufügen': Fehler beim Laden   Empfängerbaugruppe "ABC, Version = 1.0.0.0, Kultur = neutral,   PublicKeyToken = 2377fad544a7c307 "für Feature" ABC_XYZ Feature "(ID:   dca34989-a2f2-413b-b5c4-958e0bbb84ef) .:   System.IO.FileNotFoundException: Datei oder Assembly konnte nicht geladen werden   Version = 1.0.0.0, Kultur = neutral, PublicKeyToken = 2377fad544a7c307 'oder   eine seiner Abhängigkeiten. Die angegebene Datei wurde vom System nicht gefunden.   Dateiname: 'ABC, Version = 1.0.0.0, Kultur = neutral,   PublicKeyToken = 2377fad544a7c307 'bei   System.Reflection.Assembly._nLoad (AssemblyName fileName, String   codeBase, Evidence assemblySecurity, Assembly locationThin,   StackCrawlMark & ​​amp; stackMark, Boolean throwOnFileNotFound, Boolean   forInspection) bei   System.Reflection.Assembly.InternalLoad (AssemblyName assemblyRef,   Evidence assemblySecurity, StackCrawlMark & ​​amp; StackMark, Boolean   forInspection) bei System.Reflection.Assembly.InternalLoad (String   assemblyString, evidence assemblySecurity, StackCrawlMark & ​​amp; Stapelmark,   Boolean forInspection) bei System.Reflection.Assembly.Load (String   assemblyString) um   Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject ()

     

WRN: Die Protokollierung der Baugruppenbindung ist deaktiviert. Aktivieren der Assemblybindung   Fehlerprotokollierung, legen Sie den Registrierungswert fest   [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) zu 1. Hinweis: Dort   ist eine Leistungseinbuße, die mit Assemblybindungsfehler verbunden ist   protokollieren. Entfernen Sie den Registrierungswert, um diese Funktion zu deaktivieren   [HKLM \ Software \ Microsoft \ Fusion! EnableLog].

Wenn ich den Feature-Receiver entferne, kann ich wieder ohne Probleme debuggen, aber das Problem kehrt zurück, sobald ich den Feature-Receiver wieder hinzufüge.

Ich habe versucht, zu bereinigen und neu zu erstellen, und dann debuggen, aber der Fehler wird nicht weggehen, bis / bis ich den Feature-Empfänger entfernen.

Warum wird die Assembly meines Projekts in das Paket aufgenommen, wenn ich den Befehl "Package" verwende, aber nicht, wenn ich den Befehl "Debugging starten" verwende, und was passiert mit dem Hinzufügen des Feature-Receivers dazu?

    
lance 17.04.2012, 17:19
quelle

3 Antworten

13

Ich weiß nicht, was das verursacht hat, aber das Problem verschwand, als ich meine Obj- und Bin-Verzeichnisse manuell löschte. Hier sind die Schritte, die ich befolgt habe, um von dem in der Frage zitierten Zustand zum erfolgreichen Debuggen mit einem Feature-Empfänger zu gelangen:

  1. Entfernen Sie den Funktionsempfänger
  2. Saubere Lösung
  3. Schließen Sie Visual Studio
  4. Löschen Sie den Ordner "obj" des SharePoint-Projekts in Windows Explorer
  5. Löschen Sie den Ordner des SharePoint-Projekts in Windows Explorer
  6. Öffnen Sie Visual Studio, und fügen Sie den Feature-Empfänger
  7. erneut hinzu
  8. Starten Sie das Debugging
lance 17.04.2012, 17:19
quelle
18
___ qstnhdr ___ Warum fehlt die Assembly meines Projekts beim Debuggen aus dem Paket? ___ tag123deployment ___ Eine Reihe von Aktivitäten, die ein Programm für die Verwendung verfügbar machen (normalerweise in Test- oder Produktionsumgebungen) ___ tag123sharepoint2010 ___ SharePoint-spezifische Fragen finden Sie auf der SharePoint Stack Exchange-Website unter http://sharepoint.stackexchange.com/ ___ tag123assemblyresolution ___ hilf uns dieses Wiki zu bearbeiten ___ tag123wsp ___ WSP (SharePoint Solution Package) ist eine CAB-Datei mit der Dateinamenerweiterung .wsp, die alle Dateien enthält, die auf dem Front-End-Webserver bereitgestellt werden müssen, und eine Reihe von XML-basierten Installationsanweisungen. Windows SharePoint Services bietet eine umfangreiche Infrastruktur, die die Bereitstellung von Lösungspaketen in einer Webfarmumgebung vereinfacht. ___ answer10195934 ___

Ich weiß nicht, was das verursacht hat, aber das Problem verschwand, als ich meine Obj- und Bin-Verzeichnisse manuell löschte. Hier sind die Schritte, die ich befolgt habe, um von dem in der Frage zitierten Zustand zum erfolgreichen Debuggen mit einem Feature-Empfänger zu gelangen:

  1. Entfernen Sie den Funktionsempfänger
  2. Saubere Lösung
  3. Schließen Sie Visual Studio
  4. Löschen Sie den Ordner "obj" des SharePoint-Projekts in Windows Explorer
  5. Löschen Sie den Ordner des SharePoint-Projekts in Windows Explorer
  6. Öffnen Sie Visual Studio, und fügen Sie den Feature-Empfänger
  7. erneut hinzu
  8. Starten Sie das Debugging
___ answer42920923 ___

Ich habe versucht, in Visual Studio für Rechtsklick auf Lösung - Eigenschaften zu gehen. Unter Anwendung, Assembly Information und dann habe ich Assembly und File Version um "Minimum 1" (von 1.0.0.0 auf 1.0.0.1) erhöht. Dann war es möglich, Lösung "in WebApplication" zu implementieren (und hauptsächlich Feature aktivieren)

    
___ tag123feature_receivers ___ hilf uns dieses Wiki zu bearbeiten ___ qstntxt ___

Ich habe ein SharePoint-Projekt, das ich seit einiger Zeit ohne Probleme debuggen.

Heute habe ich einen Feature-Empfänger zum einzigen Feature des Projekts hinzugefügt. Ich habe noch nichts über die leere Empfängerklasse geändert, die Visual Studio standardmäßig hinzufügt.

Der "Paket" -Befehl erzeugt jetzt ein Paket, das die DLL-Datei meines Projekts enthält (wie Sie es erwarten würden - das Hinzufügen eines Feature-Receivers sollte daran nichts ändern).

Beim Debuggen jedoch enthält das generierte Paket nicht die DLL-Datei meines Projekts und der Implementierungsaufwand schlägt mit dem folgenden Fehler fehl:

  

Fehler beim Implementierungsschritt 'Lösung hinzufügen': Fehler beim Laden   Empfängerbaugruppe "ABC, Version = 1.0.0.0, Kultur = neutral,   PublicKeyToken = 2377fad544a7c307 "für Feature" ABC_XYZ Feature "(ID:   dca34989-a2f2-413b-b5c4-958e0bbb84ef) .:   System.IO.FileNotFoundException: Datei oder Assembly konnte nicht geladen werden   Version = 1.0.0.0, Kultur = neutral, PublicKeyToken = 2377fad544a7c307 'oder   eine seiner Abhängigkeiten. Die angegebene Datei wurde vom System nicht gefunden.   Dateiname: 'ABC, Version = 1.0.0.0, Kultur = neutral,   PublicKeyToken = 2377fad544a7c307 'bei   System.Reflection.Assembly._nLoad (AssemblyName fileName, String   codeBase, Evidence assemblySecurity, Assembly locationThin,   StackCrawlMark & ​​amp; stackMark, Boolean throwOnFileNotFound, Boolean   forInspection) bei   System.Reflection.Assembly.InternalLoad (AssemblyName assemblyRef,   Evidence assemblySecurity, StackCrawlMark & ​​amp; StackMark, Boolean   forInspection) bei System.Reflection.Assembly.InternalLoad (String   assemblyString, evidence assemblySecurity, StackCrawlMark & ​​amp; Stapelmark,   Boolean forInspection) bei System.Reflection.Assembly.Load (String   assemblyString) um   Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject ()

     

WRN: Die Protokollierung der Baugruppenbindung ist deaktiviert. Aktivieren der Assemblybindung   Fehlerprotokollierung, legen Sie den Registrierungswert fest   [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) zu 1. Hinweis: Dort   ist eine Leistungseinbuße, die mit Assemblybindungsfehler verbunden ist   protokollieren. Entfernen Sie den Registrierungswert, um diese Funktion zu deaktivieren   [HKLM \ Software \ Microsoft \ Fusion! EnableLog].

Wenn ich den Feature-Receiver entferne, kann ich wieder ohne Probleme debuggen, aber das Problem kehrt zurück, sobald ich den Feature-Receiver wieder hinzufüge.

Ich habe versucht, zu bereinigen und neu zu erstellen, und dann debuggen, aber der Fehler wird nicht weggehen, bis / bis ich den Feature-Empfänger entfernen.

Warum wird die Assembly meines Projekts in das Paket aufgenommen, wenn ich den Befehl "Package" verwende, aber nicht, wenn ich den Befehl "Debugging starten" verwende, und was passiert mit dem Hinzufügen des Feature-Receivers dazu?

    
___
Jay 23.05.2014 14:18
quelle
0

Ich habe versucht, in Visual Studio für Rechtsklick auf Lösung - Eigenschaften zu gehen. Unter Anwendung, Assembly Information und dann habe ich Assembly und File Version um "Minimum 1" (von 1.0.0.0 auf 1.0.0.1) erhöht. Dann war es möglich, Lösung "in WebApplication" zu implementieren (und hauptsächlich Feature aktivieren)

    
Ateven 21.03.2017 07:38
quelle