8

Tôi đã có một dự án SharePoint mà tôi đã gỡ lỗi một thời gian mà không gặp sự cố nào.Tại sao cụm từ dự án của tôi bị thiếu trong gói khi tôi gỡ lỗi?

Hôm nay tôi đã thêm bộ thu tính năng vào tính năng duy nhất của dự án. Tôi chưa thay đổi bất cứ điều gì về lớp người nhận rỗng mà Visual Studio thêm theo mặc định.

Lệnh "Gói" bây giờ tạo ra một gói bao gồm tệp DLL của dự án của tôi (như bạn mong đợi - việc thêm bộ nhận tính năng không được thay đổi bất cứ điều gì về điều này).

Tuy nhiên, khi tôi gỡ lỗi, các gói được tạo ra không không bao gồm tập tin DLL của dự án của tôi, và nỗ lực triển khai không thành công với các lỗi sau:

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].

Loại bỏ các nhận tính năng cho phép tôi để một lần nữa gỡ lỗi mà không vấn đề, nhưng vấn đề trở lại ngay sau khi tôi thêm lại bộ thu tính năng.

Tôi đã thử làm sạch và xây dựng lại, sau đó gỡ lỗi, nhưng lỗi sẽ không biến mất trừ khi/cho đến khi tôi xóa bộ thu tính năng.

Tại sao lắp ráp dự án của tôi được bao gồm trong gói khi tôi sử dụng lệnh "Gói", nhưng không phải khi tôi sử dụng lệnh "Bắt đầu gỡ lỗi" và thêm tính năng này sẽ xảy ra như thế nào?

Trả lời

13

Tôi không biết điều gì đã xảy ra, nhưng sự cố đã biến mất khi tôi xóa thư mục obj và bin của mình theo cách thủ công. Sau đây là các bước tôi đi theo để nhận từ nhà nước được trích dẫn trong các câu hỏi để gỡ lỗi thành công w/một máy thu năng:

  1. Remove tính năng nhận
  2. giải pháp sạch
  3. Đóng Visual Studio
  4. Xóa SharePoint dự án thư mục obj trong Windows Explorer
  5. Xóa thư mục bin của dự án SharePoint trong Windows Explorer
  6. Mở Visual Studio và thêm lại tính năng thu
  7. Bắt đầu gỡ lỗi
+0

+1 bởi vì, đối với tất cả logic, công trình này. Làm sao? Có thể một phần nào đó được chỉnh sửa không? (Tôi nhận ra rằng để cho Visual Studio chạy gây ra thư mục obj ngay lập tức được tạo lại.) –

+1

Tôi đã tạo câu trả lời này b/c Tôi không hiểu tại sao nó hoạt động, và đó là một nỗ lực khắc phục sự cố tôi không bao giờ lặp lại. Nếu tôi từng phát hiện ra nó là không cần thiết, tôi chắc chắn sẽ chỉnh sửa. – lance

+0

Nó hoạt động nhưng có dây như thế nào nó đã cố định. – Prageeth

18

Câu trả lời được chấp nhận cho câu hỏi này không phù hợp với tôi.

Sau đây làm việc:

...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.

Nhờ bài viết trên blog này: Farm Solution Deployment Problems

+0

chấp nhận đã không làm việc cho tôi, hoặc, nhưng giải pháp quan trọng mới đã làm các trick. Cảm ơn, Jay! – Sergey

+0

Tương tự đối với tôi, Giải pháp này đã hoạt động. Làm tốt lắm! –

+0

đã làm việc cho tôi, cảm ơn –

0

Tôi cố gắng để đi trong Visual Studio cho nhấp chuột phải vào giải pháp - tài sản. Trong ứng dụng, thông tin lắp ráp và sau đó tôi đã nâng phiên bản Assembly và File lên "minimum 1" (từ 1.0.0.0 đến 1.0.0.1). Sau đó, có thể triển khai (và chủ yếu kích hoạt tính năng) giải pháp "vào WebApplication"

Các vấn đề liên quan