8

Mam projekt SharePoint, który debugowałem od jakiegoś czasu bez problemów.Dlaczego brakuje zestawu mojego projektu z pakietu podczas debugowania?

Dzisiaj dodałem odbiornik funkcji do jedynej funkcji projektu. Nie zmieniłem jeszcze nic na temat pustej klasy odbiornika, którą domyślnie dodaje Visual Studio.

Komenda "Pakiet" generuje teraz pakiet zawierający plik DLL mojego projektu (jak można się było spodziewać - dodanie odbiornika funkcji nie powinno niczego zmieniać w tym zakresie).

Jednak, kiedy debugowania wygenerowany pakiet robi nie zawierać plik DLL mojego projektu, a wysiłek rozmieszczenie nie powiedzie się z powodu następującego błędu:

Error occurred in deployment step 'Add Solution': Failed to load receiver assembly "ABC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2377fad544a7c307" for feature "ABC_XYZ Feature" (ID: dca34989-a2f2-413b-b5c4-958e0bbb84ef).: System.IO.FileNotFoundException: Could not load file or assembly 'ABC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2377fad544a7c307' or one of its dependencies. The system cannot find the file specified. File name: 'ABC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2377fad544a7c307' at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) at System.Reflection.Assembly.Load(String assemblyString) at Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

Zdejmowanie odbiornika cecha pozwala mi znowu debugowania bez problem, ale problem powraca, gdy tylko ponownie dodaję odbiornik funkcji.

Próbowałem czyszczenia i odbudowy, a następnie debugowania, ale błąd nie zniknie, chyba że/aż do usunięcia odbiornika funkcji.

Dlaczego zestaw mojego projektu jest dołączany do pakietu, gdy używam polecenia "Pakiet", ale nie wtedy, gdy używam polecenia "Rozpocznij debugowanie", a co z dodawaniem odbiornika funkcji powoduje to?

Odpowiedz

13

Nie wiem, co spowodowało, że się stało, ale problem zniknął, gdy ręcznie wyczyściłem moje katalogi obj i bin. Oto kroki, ja poszedłem do uzyskania od państwa przywołane w pytaniu do pomyślnego debugowania w/odbiornika cecha:

  1. odbiornik funkcja Usuń
  2. Czyste rozwiązanie
  3. Close Visual Studio
  4. Usuń SharePoint projektu folder obj w Eksploratorze Windows
  5. Usuń folder bin projektu SharePoint w Eksploratorze Windows
  6. Otwórz Visual Studio i ponownie dodaj odbiornik funkcji
  7. Rozpoczęcie debugowania
+0

+1, ponieważ działa to wbrew wszelkiej logice. W jaki sposób? Czy część tego można edytować? (Zdałem sobie sprawę, że zezwolenie na uruchomienie Visual Studio spowodowało natychmiastowe ponowne wygenerowanie folderu obj). –

+1

Utworzyłem tę odpowiedź b/c Nie rozumiałem, dlaczego to zadziałało i jest to wysiłek związany z rozwiązywaniem problemów, którego nie chcę powtarzać. Jeśli kiedykolwiek odkryję, że jest to niepotrzebne, zdecydowanie edytuję. – lance

+0

Zadziałało, ale zostało naprawione. – Prageeth

18

Przyjęta odpowiedź na to pytanie nie zadziałała.

Następujące nie działa:

...simply changing out the project’s strong key assembly worked in this particular case. If you haven’t had to change this before, it is under the properties of the project -> Signing. Under ‘Choose a strong name key file’, select New. The password is optional.

Dzięki tym blogu: Farm Solution Deployment Problems

+0

akceptowane też nie działa, ale nowe kluczowe rozwiązania rozwiązały problem. Dzięki, Jay! – Sergey

+0

To samo dla mnie, to rozwiązanie działało. Dobra robota! –

+0

pracował dla mnie, dzięki –

0

starałem się iść w Visual Studio dla prawym przyciskiem myszy na rozwiązanie - właściwości. W aplikacji, informacje o złożeniu, a następnie podniosłem wersję Assembly and File o "minimum 1" (od 1.0.0.0 do 1.0.0.1). Następnie można było wdrożyć (i głównie aktywować funkcję) rozwiązanie "do aplikacji internetowej"