2009-12-14 36 views
14

Tôi có một ứng dụng web mà tôi đang cố gắng nâng cấp lên .net 4.0.Không thể tải tệp hoặc lắp ráp 'AjaxControlToolkit' sau khi nâng cấp lên .net 4.0

Tôi đã lấy ứng dụng và mở nó qua Visual Studio 2010 Beta 2 và chọn đường dẫn nâng cấp cho ứng dụng đó. Ứng dụng sử dụng AjaxControlToolkit. Bây giờ việc nâng cấp hoàn tất khi tôi cố gắng truy cập một trang, tôi nhận được thông báo lỗi: "Không thể tải tập tin hoặc lắp ráp 'AjaxControlToolkit' hoặc một trong các phụ thuộc của nó. Truy cập bị từ chối."

Tôi đã thử:

  • Khởi động lại máy tính của tôi
  • sạch Giải pháp
  • Loại bỏ tất cả các file trong Temporary ASP.Net tập tin
  • permsissions thư giãn (bổ sung Mọi người với đầy đủ Control) trên Bin thư mục, thư mục Tệp ASP.Net tạm thời
  • Xóa và readding tham chiếu đến AjaxControlToolkit DLL

Các mục web.config liên quan cho AjackControlToolkit là:

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"> 
    <controls> 
    <add tagPrefix="ajaxToolkit" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit"/> 
    </controls> 
</pages> 

Bất kỳ ý tưởng như những gì đang xảy ra ở đây/làm thế nào tôi có thể khắc phục vấn đề này?

+0

+1: Kiểm tra nhanh * để xem người dùng có liên quan đến quyền mạo danh * là cấp quyền quản trị cục bộ cho tài khoản mạo danh của bạn hay không. Nếu sự cố không còn, bạn cần gán quyền truy cập cụ thể cho tài khoản để truy cập các tệp IIS. –

+0

Đối với bất kỳ ai khác đã thực hiện tất cả các lời khuyên và vẫn gặp sự cố, liên kết này có thể được quan tâm. http://stackoverflow.com/a/23534971/1027250 – Yorro

Trả lời

1

Không chắc chắn 100% lý do tại sao tính năng này hoạt động, nhưng trong thư mục Tệp ASP.Net tạm thời thích hợp (đặt tại: C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.21006 \ Tệp ASP.NET tạm thời [projectName]) Tôi tự coppied AjaxControlToolkit.dll.

Tôi sau đó được trình bày với các tệp DLL bổ sung bị thiếu, nhưng khi sao chép thủ công chúng vào vị trí này, tôi cũng có thể giải quyết những vấn đề này. Có vẻ như không phải là câu trả lời hay nhất, nhưng nó đã kết thúc với tôi.

+0

Chỉ vì tò mò, bạn đã bao giờ thử xóa tất cả các tệp tạm thời chưa? – NotMe

+0

Tôi đã cố gắng để chỉ xóa tất cả các tập tin tạm thời, nhưng không có may mắn – ChrisHDog

1

Lỗi lẻ. Có gì trong tệp web.config của bạn trỏ đến AjaxControlToolkit bằng mã thông báo khóa công khai hoặc các thông số kỹ thuật lắp ráp khác được cung cấp không? Điều đó đã xảy ra với tôi, khi một giá trị thay đổi hoặc tôi đã thay đổi từ một tham chiếu trong GAC sang tham chiếu cục bộ ...

HTH.

13

Tôi đã gặp sự cố tương tự nhưng có thể giải quyết bằng cách cấp toàn quyền cho thư mục "Tệp ASP.NET tạm thời" cho danh tính mạo danh của tôi.

+5

Tôi cố định điều này bằng cách thêm người dùng mạo danh vào nhóm IIS_IUSRS trên máy trạm Vista của tôi. – jrummell

+2

Tôi biết đây là một chủ đề cũ, nhưng tôi đang bình luận ở đây chỉ để nhấn mạnh câu trả lời này và bình luận của jrummell. Thêm người dùng mạo danh vào nhóm IIS_IUSRS cung cấp toàn quyền truy cập vào thư mục Temporary ASP.NET Files. Còn gì nữa? Tôi không biết, nhưng tôi nghĩ rằng đây là một cách tiếp cận "đúng" hơn là chỉ cấp quyền cụ thể cho một thư mục đó. Những quyền nào khác mà người dùng sẽ cần để chạy một ứng dụng ASP.NET? Tôi không biết, nhưng nhóm này nên có chúng, phải không? – JeffK

+0

Tương tự: đối với tôi, người dùng mạo danh (đó là * IUSR_ [machinename] * nếu web.config có * impersonate = true * nhưng không chỉ định tên người dùng) sửa đổi, đọc và thực thi quyền trên thư mục ứng dụng web của tôi * * và đảm bảo rằng các quyền đó sẽ được gửi đến tất cả các thư mục con ** (nhấp vào nút nâng cao). – MGOwen

3

Tôi nghĩ rằng bài đăng về các tệp Temp trong C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.21006 \ Tệp ASP.NET tạm thời [projectName] đã đi đúng hướng.

Tôi đã giải quyết sự cố bằng cách chỉnh sửa quyền để đảm bảo rằng người dùng ASP mạo danh (được tìm thấy trong phần bảo mật của IIS là người dùng ẩn danh mà ứng dụng nên sử dụng khi cho phép truy cập ẩn danh) có bảo mật thích hợp cho thư mục.

Giải quyết sự cố ... Truy cập Bị từ chối theo cách thường trỏ đến vấn đề quyền.

2

Tôi đã cố gắng cấp cho người dùng có quyền đầy đủ quyền đối với thư mục Tệp ASP.NET tạm thời, nhưng điều đó không hiệu quả. Tôi nhớ trong quá khứ khi tôi nhận được lỗi này rằng nó đã làm các trick.

Tôi biết áp phích câu hỏi đã thử điều này nhưng nó đã hiệu quả đối với tôi khi tôi xóa/thêm AjaxToolKit trong studio trực quan.Tôi đề nghị thử mọi thứ anh ta đã làm trước. Tôi hi vọng điêu nay se giup được ai đo.

3

Tôi nhận được thông báo lỗi này (mặc dù tệp dll khác) khi tôi cài đặt lại ứng dụng ASP.NET của mình trên máy Windows Server 2008 mới. Tôi đã tìm kiếm một giải pháp cho điều này trong nhiều giờ, cố gắng hoàn toàn mọi thứ, nhưng vô ích. Cho đến khi tôi tắt McAfee antivirus. Khi tôi đã làm, mọi thứ đều hoạt động như một sự quyến rũ.

6

tôi nhận ra có một câu trả lời đã được chấp nhận, nhưng đối với bất cứ ai khác đến trang này thông qua tìm kiếm trên mã lỗi ....

Xem lại các quyền của người sử dụng mà bạn đang cố gắng để mạo danh.

Trong trường hợp của mình, tôi chỉ gặp lỗi trên máy phát triển của mình, thay vì trên máy chủ dàn dựng hoặc triển khai của chúng tôi. (Đối với trong khi tôi nhận được xung quanh điều này bằng cách loại bỏ nút 'nhận dạng' từ cấu hình trong môi trường dev của tôi và chỉ cần thêm dòng trong xây dựng sau để nó không phải là một vấn đề cho bất cứ ai khác hơn tôi ..

Trong môi trường của tôi chúng tôi có một người dùng cụ thể mà tất cả các ứng dụng web của chúng tôi mạo danh khi chạy. Tôi đã tạo tài khoản người dùng nhưng chưa đặt rõ ràng quyền tài khoản của mình. Khi tôi thêm người dùng làm Quản trị viên trên máy tính của mình, vấn đề này đã biến mất hoàn toàn. (Không lý tưởng, tôi biết, nhưng nó "làm việc cho tôi", và có tác hại tối thiểu kể từ khi tài khoản người dùng đó bị khóa trên các máy chủ 'thực' của chúng tôi ..)

1

Bạn có thể thử cách này: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\. lên tất cả các thư mục và tập tin từ bên trong thư mục này và biên dịch ứng dụng ur ion. Chúc mừng mã hóa!

1

Tôi đang đối mặt với cùng một vấn đề. Sau rất nhiều nghiên cứu tôi phát hiện ra rằng tôi đã sử dụng mạo danh trong tệp cấu hình. Tôi đã phải thay đổi ID mạo danh cho một người dùng khác đã được địa phương cho máy chủ và nó đã giải quyết vấn đề ngay lập tức.

1

Kiểm tra thuộc tính của DLL. Nếu nó nói một nơi nào đó rằng "tập tin này đến từ một máy tính khác", bấm vào hộp kiểm và "áp dụng", để nâng hạn chế Windows đã đưa ra.

0

Hãy nhớ mở "Visual Studio" bằng "Chạy với tư cách quản trị viên" bằng cách sử dụng menu ngữ cảnh [nhấp chuột phải].

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