Giải pháp: System.io.FileNotFoundException trên “SPSite = mới SPSite(URL)”

CẬP NHẬT: Tôi đăng câu hỏi này để MSDN ở đây (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) và Michael Washam của Microsoft phản hồi với một câu trả lời ngắn gọn.

Tôi tạo ra một dịch vụ web để hoạt động như một BDC-thân thiện với tiền một danh sách SharePoint. Khi tôi sử dụng này từ môi trường phát triển của tôi, nó hoạt động tốt. Khi tôi di chuyển này đến một máy chủ mới, Tôi gặp phải lỗi này:

System.io.FileNotFoundException: Các ứng dụng Web tại http://localhost/sandbox không tìm thấy. Kiểm chứng rằng bạn đã gõ URL chính xác. Nếu URL nên phục vụ nội dung hiện tại, người quản trị hệ thống có thể cần phải thêm một bản đồ URL yêu cầu mới để ứng dụng dự định. tại Microsoft.SharePoint.SPSite.Victor(SPFarm farm, URI requestUri, Boolean contextSite, SPUserToken userToken) tại Microsoft.SharePoint.SPSite.Victor(Chuỗi requestUrl) lúc Conchango.xyzzy.GetExistingDocument(Chuỗi minId, Chuỗi maxId, Chuỗi titleFilter) trong c:\Tài liệu và SettingsPaulMy DocumentsVisual Studio 2005ProjectsxyzzyBDC_DocReviewBDC_DocReviewDocReviewFacade.asmx.cs:dòng 69

Đây là dòng 69:

bằng cách sử dụng (SPSite trang web = mới SPSite("http://localhost/sandbox"))

Tôi đã thử các biến thể khác nhau về URL, bao gồm cả bằng cách sử dụng tên thật của máy chủ, Địa chỉ IP của nó, dấu slashes trong URL, vv. Tôi luôn luôn nhận lỗi đó.

Tôi đã sử dụng Google để nghiên cứu nó. Rất nhiều người dân đối mặt với vấn đề này, hoặc các biến thể của nó, nhưng không có ai dường như có nó giải quyết.

Tricksy MOSS cung cấp các chi tiết một lỗi mà nó đã không xảy ra với tôi để kiểm tra các 12 bản ghi tổ ong. Cuối cùng, về 24 giờ sau khi đồng nghiệp của tôi khuyến khích tôi làm như vậy, Tôi đã kiểm tra các 12 hive đăng nhập và tìm thấy điều này:

Một ngoại lệ đã xảy ra trong khi cố gắng để có được các trang trại địa phương:
System.Security.SecurityException: Truy cập được yêu cầu đăng ký không được phép.
tại System.ThrowHelper.ThrowSecurityException(ExceptionResource tài nguyên) tại Microsoft.Win32.RegistryKey.OpenSubKey(Tên Chuỗi, Boolean có thể ghi được) tại Microsoft.Win32.RegistryKey.OpenSubKey(Tên Chuỗi) tại Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_RegistryConnectionString() tại Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_Local() tại Microsoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm& Trang trại, Boolean& isJoined)
Vùng của Hội đồng mà không:  MyComputer

Điều này mở ra con đường mới của nghiên cứu, do đó, nó đã trở lại The Google. Đó đã dẫn tôi đến đây diễn đàn đăng bài: http://forums.codecharge.com/Posts.php?post_id = 67135. Điều đó không thực sự giúp tôi nhưng nó đã bắt đầu làm cho tôi nghĩ rằng có một vấn đề cơ sở dữ liệu và/hoặc bảo mật. Tôi rạng và Andrew Connell đăng bài được kích hoạt cuối cùng suy nghĩ rằng tôi nên chắc chắn rằng hồ bơi ứng dụng nhận dạng tài khoản có quyền truy cập thích hợp vào cơ sở dữ liệu. Tôi nghĩ rằng nó đã làm. Tuy nhiên, đồng nghiệp của tôi đã đi và đã cung cấp ứng dụng hồ bơi nhận dạng tài khoản toàn quyền truy cập cho SQL.

Ngay sau khi cô thực hiện thay đổi đó, Tất cả mọi thứ bắt đầu làm việc.

Tốt nhất là những gì đã xảy ra tiếp diễn tả như một Haiku bài thơ:

Vấn đề nâng cao tay của họ.
Bạn swing và bỏ lỡ. Thử lại.
Thành công! Nhưng làm thế nào? Tại sao?

Cô ấy không muốn để lại những điều một mình như vậy, thích để cho phép yêu cầu tối thiểu (và có lẽ với văn bản một blog entry; Tôi đánh bại của mình để đục lỗ, muhahahahaha!).

Cô gỡ bỏ quyền kế tiếp từ tài khoản nhận dạng hồ bơi ứng dụng cho đến khi … có đã không còn bất kỳ sự cho phép rõ ràng cho tài khoản nhận dạng hồ bơi ứng dụng ở tất cả. Dịch vụ web tiếp tục làm việc chỉ phạt.

Chúng tôi đã đi và khởi động lại các máy chủ. Tất cả mọi thứ vẫn tiếp tục làm việc tốt.

Vì vậy, để recap: chúng tôi đã cung cấp ứng dụng nhận dạng đầy đủ lối ra Hồ bơi và sau đó đã lấy nó đi. Dịch vụ web bắt đầu làm việc và không bao giờ ngừng làm việc. Kỳ lạ.

Nếu có ai biết tại sao mà nên đã làm việc, Xin vui lòng để lại một thảo luận.

</kết thúc>

Technorati Tags:

11 Những suy nghĩ trên "Giải pháp: System.io.FileNotFoundException trên “SPSite = mới SPSite(URL)”

  1. Fernando Gómez Flores

    Đẹp đăng bài, Cảm ơn. Trong trường hợp của tôi, vấn đề của tôi đã được giải quyết bằng cách thay đổi webservice apppool để phù hợp với các bộ sưu tập trang web sharepoint.

    Chúc vui vẻ,
    Fernando A. Gómez F.

  2. Wilson Edgar

    Chào bạn, Tôi cũng đã có cùng một vấn đề. Trong khi phát triển trên cùng một máy với sharepoint server, Tôi đã sử dụng Asp máy chủ phát triển với sự cho phép khác nhau không chắc chắn không chạy dưới danh tính tương tự như sharepoint (thêm về điều này ở đây: http://msdn.microsoft.com/en-us/library/58wxa9w5(VS.80).aspx) Vậy thì sao, Tôi đã tạo ra một trang web mới trong IIS (cảng 8080) với nhận dạng tương tự như sharepoint.. và thì đấy.
    Hy vọng điều này sẽ giúp

  3. Zac Boyles
    Đó là một cơ hội tốt mà vai trò máy chủ SQL của securityadmin cố định vấn đề bạn đã có một khi nó được chạy. Đó sẽ là một lời giải thích tốt cho nó tiếp tục làm việc.
  4. Faery

    Writeup tốt đẹp. Chúng tôi đang có chính xác cùng một vấn đề ngay bây giờ. Loại vấn đề và hành vi bất ngờ/không giải thích được là chính xác lý do tại sao rất nhiều nhà phát triển không thể đứng làm việc với SharePoint!

  5. Markus

    Phần này của bài viết….”ứng dụng nhận dạng tài khoản đầy đủ hồ bơi cho SQL”, bạn có thể xây dựng? “ứng dụng ngoài trời danh tính” Tôi đoán có nghĩa là các hồ bơi ứng dụng của các trang web sharepoint, Nhưng “truy cập vào SQL”, làm thế nào bạn làm cho rằng? Tạo một tên đăng nhập trên máy chủ db cho tính đồng hồ bơi ứng dụng tôi nghĩ rằng không phải là khá đủ…Vì vậy, là nó trên sharepoint nội dung db nơi đăng nhập mới được dbo (?) truy cập? Hoặc khác sharepoint db của là tốt, như config db? Đối với tôi đó là khó khăn, bởi vì sp db nội dung của tôi rõ ràng không phải là xử lý bởi sql máy chủ trường hợp, rõ ràng nó là dưới “/Microsoft văn phòng Servers/14.0/Data”, Dù sao tôi không nhìn thấy nó trong sql server mgr….bất cứ ý tưởng làm thế nào tôi cho “truy cập vào SQL” trong trường hợp này? Bất kỳ trả lời sẽ được đánh giá…tôi là loại khó khăn nhận được ứng dụng giao diện điều khiển của tôi để tạo ra một đối tượng spsite!!

Để lại một trả lời Benjamin hủy trả lời

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *