Tôi đã làm việc ngày một tính năng cuối tuần mà sẽ thêm một số sự kiện nhận vào một trường hợp cụ thể danh sách. (Tôi viết blog một chút về đó ở đây danh sách người nhận).
Bằng cách sử dụng dòng lệnh, Tôi có thể cài đặt các tính năng với không có lỗi (nhưng xem dưới đây cho lỗi ẩn). Khi tôi đã cố gắng để triển khai tính năng trên trang web, MOSS phàn nàn của một "FileNotFoundException" lỗi. Blog entry này mô tả làm thế nào tôi giải quyết nó.
Đây là lỗi MOSS đã cho thấy tôi trong trình duyệt web:
Tính năng ' b2cb42e3-4f0a-4380-aaba-1ef9cd526f20’ có thể không được cài đặt bởi vì nạp các sự kiện nhận hội "xyzzyFeatureReceiver_0" thất bại: System.io.FileNotFoundException: Không thể nạp tệp hoặc lắp ráp ' xyzzyFeatureReceiver_0’ hoặc một trong các phụ thuộc của nó. Hệ thống không thể tìm thấy tệp đã chỉ rõ. Tên tập tin: ' xyzzyFeatureReceiver_0’ tại System.Reflection.Assembly.nLoad(Tên tập tin AssemblyName, Chuỗi codeBase, Bằng chứng assemblySecurity, Hội đồng locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) tại System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Bằng chứng assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) tại System.Reflection.Assembly.InternalLoad(Chuỗi assemblyString, Bằng chứng assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) tại System.Reflection.Assembly.Load(Chuỗi assemblyString) tại Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject() WRN: Lắp ráp ràng buộc đăng nhập bị tắt. Để cho phép lắp ráp ràng buộc đăng nhập thất bại, Đặt giá trị sổ đăng ký [HKLMSoftwareMicrosoftFusion!EnableLog] (DWORD) để 1. Lưu ý: Đó là một số hình phạt hiệu suất kết hợp với lắp ráp ràng buộc đăng nhập thất bại. Để tắt tính năng này, loại bỏ giá trị đăng ký [HKLMSoftwareMicrosoftFusion!EnableLog].
Khắc phục sự cố với Windows SharePoint dịch vụ.
|
Tôi biết làm thế nào để cố tình gây ra lỗi đó: không cài đặt lắp ráp ở gấc. Nhưng, nó đã ở gấc. Tôi thường cài đặt hội đồng thành gấc bằng cách kéo chúng vào c:\windowsassembly thư mục bằng cách sử dụng windows explorer. Tôi đã không bao giờ cảm thấy 100% thoải mái làm điều đó bởi vì tôi luôn luôn nghĩ rằng gacutil tồn tại cho một lý do … Vì vậy, tôi đã cố gắng đó. Nó làm cho không có sự khác biệt.
Tôi tìm kiếm các Internets và tìm thấy bài đăng này: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1
Người gửi đã xảy ra để sử dụng cùng một gốc bit mã (từ cuốn sách bên trong WSS từ danh sách này) Vì vậy, đó là một dấu hiệu hy vọng. Tuy nhiên, theo đề nghị của trang trí hội đồng với một [lắp ráp: ] chỉ thị không có ý nghĩa với tôi. Tôi đã thử nó anyway và tôi đã đúng. Nó làm cho không có sự khác biệt.
Sau đó tôi nhận thấy rằng định nghĩa lớp của tôi đã không công cộng. Tôi đã làm cho nó công cộng và làm cho không có sự khác biệt.
Tiếp theo, Tôi đã đi đến sự cố khi tạo điều kiện cho "hội ràng buộc thất bại log" (theo các hướng dẫn hữu ích và chính xác cung cấp) và đây là nơi mọi thứ bắt đầu để có được thú vị. Nhật ký đó cho thấy tôi rằng thời gian tìm kiếm ở khắp mọi nơi trên máy chủ đó để lắp ráp của tôi. Nó thậm chí xuất hiện để tìm kiếm cho nó trong tủ thuốc của tôi. Nhưng … nó sẽ không tìm kiếm cho nó trong gấc.
Tôi đặt trên áo khoác mùa đông của tôi và đi tìm kiếm các Internets một lần nữa và tìm thấy rằng ai đó đã có vấn đề này quá. Các cuộc thảo luận dài trong bài đó peters ra vào không có gì và tôi không thể tìm thấy một giải pháp.
Tôi di chuyển lắp ráp của tôi vào một trong những nơi Nhật ký tuyên bố nó tìm kiếm và tôi thực hiện tiến bộ nhiều hơn một chút. Tôi đang thưởng bằng một lỗi mới trong trình duyệt khi tôi cố gắng để kích hoạt các tính năng:
Thất bại trong việc tạo ra tính năng nhận đối tượng từ hội "xyzzyFeatureReceiver_0", loại "Conchango.xyzzyFeatureReceiver" Đối với tính năng b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: Giá trị không thể được null. Tên tham số: loại tại System.Activator.CreateInstance(Loại loại, Boolean quan) tại System.Activator.CreateInstance(Loại loại) tại Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
Khắc phục sự cố với Windows SharePoint dịch vụ.
|
Thời gian cho một chuyến đi cuối cùng để các Internets!
Thời gian này tôi tìm ra, predictably đủ, RÊU vấn đề lỗi này bởi vì việc lắp ráp không phải là gấc.
Tôi muốn có được một cái gì đó tích cực ra khỏi đây và cố gắng để cảm thấy một chút tự hào rằng tôi đã tạo ra các Bỏ trốn của Hội đồng MSIL, nhưng nó không hoạt động. Tôi khó chịu chỉ là đồng bằng. Tôi tìm thấy bản thân mình muttering "gà hoặc trứng" theo hơi thở của tôi.
Tôi cuối cùng đã quyết định punt. Tôi tạo ra một dự án hoàn toàn mới và sao chép/dán mã từ dự án không làm việc incredible-cloaked-from-the-GAC-assembly hơn cho dự án này mới. (Tôi nhìn cho một lá cờ xây dựng được gọi là một cái gì đó như "ẩn từ lắp ráp ràng buộc nếu được cài đặt trong gấc" nhưng không thể tìm thấy một).
Tôi cài đặt các tính năng và kích hoạt nó và … nó hoạt động! Vì vậy, sau khi tất cả những gì, Tôi phải về cơ bản ' khởi động lại’ dự án của tôi. Đây là một lý do tại sao tôi ghét máy tính.
Tôi đã học điều gì hữu ích từ này. Tôi đã cài đặt tính năng bằng cách sử dụng dòng lệnh stsadm tất cả các ngày dài và sử dụng các "-lực lượng" lựa chọn ra khỏi thói quen. Đối với một số lý do, Tôi đã không sử dụng tùy chọn-lực lượng khi tôi cài đặt dự án mới. Thời gian này, Tôi đã thực sự, thực sự quên sao chép dự án mới này lắp ráp vào gấc. Kết quả là, Tôi nhận được rằng "FielNotFoundException" lỗi. Thời gian này, Tôi đã nhận nó từ stsadm, không khi tôi cố gắng để kích hoạt tính năng thông qua trình duyệt web. Vì vậy, -lực lượng thực sự chơi hai vai trò. Nó cho phép bạn cài đặt một tính năng sẵn có. Nó cũng cho phép bạn cài đặt một tính năng lỗi mà không thể làm việc tại thời gian chạy của đàn áp lỗi. Nó có thể nói là nhiều trong sự giúp đỡ một nơi nào đó nhưng tôi không bao giờ nhận thấy nó.
</kết thúc>