Không thể xử lý resx tệp do tệp nằm trong Internet hoặc Vùng hạn chế hoặc có dấu trang web trên tệp


89

Tôi đang gặp phải sự cố khi gỡ lỗi Mã hóa API c # trong Visual studio 2017. Gỡ lỗi chưa bắt đầu và hiển thị thông báo lỗi như

nhập mô tả hình ảnh ở đây

Bất kỳ ý tưởng về thông báo lỗi này?


12
Hãy thử nhấp chuột phải vào tệp và chọn Thuộc tính, trong Windowws Explorer. Bạn có tùy chọn nào ở cuối hộp thoại để mở khóa tệp không?
Lasse V. Karlsen

Great Lasse, Bây giờ Debugging hoạt động tốt Cảm ơn bạn.
Raju.Saravanan

4
"Dấu ấn của web" có phải là Dấu ấn mới của Quái vật không?
Conrad

Câu trả lời:


146

Nếu bạn tải xuống tệp từ internet, riêng biệt hoặc bên trong tệp .zip hoặc tệp tương tự, nó có thể đã bị "khóa" vì bị gắn cờ là đến từ khu vực internet. Nhiều chương trình sẽ sử dụng điều này như một dấu hiệu cho thấy nội dung không được tin cậy.

Giải pháp đơn giản nhất là nhấp chuột phải vào tệp trong Windows Explorer, chọn Thuộc tính và dọc theo cuối hộp thoại này, bạn sẽ có tùy chọn "Bỏ chặn". Nhớ bấm OK để chấp nhận thay đổi.

Nếu bạn lấy tệp từ một kho lưu trữ, tốt hơn hết là bạn nên bỏ chặn tệp lưu trữ trước, nếu tệp được gắn cờ là đến từ vùng internet và bạn giải nén nó, cờ đó có thể truyền sang nhiều tệp bạn vừa hủy lưu trữ. Nếu bạn bỏ chặn trước, các tệp chưa được lưu trữ sẽ ổn.

Ngoài ra còn có một lệnh Powershell cho việc này, Unblock-File :

> Unblock-File *

Ngoài ra, có nhiều cách để viết mã cũng sẽ loại bỏ khóa.

Từ nhận xét của @ Defcon1: Bạn cũng có thể kết hợp Unblock-Filevới Get-ChildItemđể tạo đường dẫn bỏ chặn tệp một cách đệ quy. Vì Unblock-Filekhông có cách nào để tự tìm tệp đệ quy, bạn phải sử dụng Get-ChildItemđể thực hiện phần đó.

> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File

1
Cảm ơn bạn đã trả lời công phu.
Raju.Saravanan

1
Cám ơn PowerShell tham khảo - rất hữu ích khi giao dịch với rất nhiều tác phẩm
scotru

Tại sao lệnh Powershell đó rất khó tìm cho tôi? Cảm ơn! 👍
Neville

Đã khắc phục sự cố của tôi. Cảm ơn
Mohamed Uvais M

14
Tôi đã sử dụng Unblock-file trong chế độ đệ quy:ps> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
Defkon1

62
  1. Mở trình khám phá tệp. Điều hướng đến thư mục dự án / giải pháp
  2. Tìm kiếm * .resx. -> Bạn sẽ nhận được danh sách các tệp resx
  3. Nhấp chuột phải vào tệp resx, mở thuộc tính và kiểm tra tùy chọn 'Bỏ chặn'
  4. Lặp lại # 3 cho mỗi tệp resx.
  5. Tải lại dự án.

10
Không có unblocktùy chọn.
dafie

1
Tùy chọn bỏ chặn sẽ xuất hiện trong vùng Thuộc tính ở cuối tab Chung nếu tệp bị chặn. Nếu nó không bị chặn, tùy chọn sẽ không xuất hiện.
spadelives

1
Đã làm cho tôi! Câu trả lời chính xác!
Toby

4
Để rõ ràng, điều này nằm trong trình khám phá tệp chứ không phải trong trình khám phá giải pháp của studio trực quan.
Ferus

Có thể xác nhận đây là vấn đề. Giải thích thêm về nhận xét của @ Dafie: Nếu không có hộp kiểm bỏ chặn, tệp đã được bỏ chặn. Vấn đề là do một trong những người khác gây ra. Bạn sẽ thấy rằng nếu hộp kiểm ở đó, bạn chọn nó và nhấn "áp dụng", hộp kiểm sẽ biến mất hoàn toàn.
Sander Koldenhof

24

Không có câu trả lời nào trong số những câu trả lời này phù hợp với tôi, tôi phải làm như sau:

  1. Start Menu> gõ 'Internet Options'.
  2. Chọn Vùng mạng nội bộ cục bộ trên tab Bảo mật rồi nhấp vào nút Trang web
  3. Nhấp vào nút Nâng cao
  4. Nhập tệp: // [tên máy tính]
  5. Đảm bảo rằng ' Yêu cầu xác minh máy chủ ... ' không được chọn

Nguồn: https://superuser.com/q/44503


1
Thêm thành file://domain.comcông, cảm ơn! bối cảnh: Đại tu máy chủ lớn đã chuyển tệp của chúng tôi sang DFS; miền Windows là domain.comvì vậy các tệp hiện nằm trong \\domain.com\...đó có thể đã gây ra sự cố.
Kodithic,

Tôi có thể xác nhận rằng giải pháp này giải quyết được vấn đề của tôi để xây dựng .slnmột mạng chia sẻ bên trong mạng cục bộ. Thông báo lỗi là:error MSB3821: Couldn't process file *.resx due to its being in the Internet or Restricted zone or having the mark of the web on the file. Remove the mark of the web if you want to process these files.
Mar Tin

Tôi cũng có thể xác nhận không có gì hoạt động ngoài điều này. Tôi đã thêm tệp: // [tên máy tính] cũng như IP chia sẻ mạng mà tôi đang tải tệp .sln từ (ví dụ: tệp: //10.0.0.0). Tôi đang sử dụng Windows 7 Enterprise 64-bit w / Internet Explorer phiên bản 11.0.9600.19236 và Visual Studio 2019 Community Edition. Không cần khởi động lại Windows.
Marc


5

Mặc dù đây là một câu hỏi cũ hơn, nhưng tôi đã dành vài giờ để theo dõi cách xử lý lỗi này khi nó áp dụng cho nhiều tệp nằm trong các thư mục con trong suốt dự án.

Để khắc phục điều này cho tất cả các tệp trong một dự án , Visual Studio -> Công cụ -> Tùy chọn -> Cài đặt Tin cậy và thêm đường dẫn dự án làm đường dẫn tin cậy.

Đường dẫn đáng tin cậy của Visual Studio


Chỉ có điều hiệu quả với tôi, không có thứ nào khác hiệu quả.
tiền chuộc

4
  1. Tìm đường dẫn từ nhật ký lỗi và mở tệp trong explorer 2) chọn tệp và nhấp chuột phải -> thuộc tính
  2. Sau đó, chọn tùy chọn 'bỏ chặn' và nhấp vào áp dụng nhập mô tả hình ảnh ở đây

3

Tôi gặp sự cố này trên các tệp resx trong giải pháp của mình. Tôi đang sử dụng Onedrive. Tuy nhiên không có giải pháp nào ở trên khắc phục được nó.

Vấn đề là biểu tượng tôi đã sử dụng trong tệp MyWindow.resx cho cửa sổ.

Tôi đã xóa nó sau đó lấy biểu tượng từ thư mục tài nguyên App Local Resources.

 private ResourceManager rm = App_LocalResources.LocalResources.ResourceManager;
 
 ..
 
InitializeComponent();
this.Icon = (Icon)rm.GetObject("IconName");

Điều này xảy ra sau khi cập nhật lên VS2019.


2

Nếu bạn đang sử dụng OneDrive hoặc bất kỳ ổ đĩa mạng nào tương tự, bạn có 2 tùy chọn:

1) cách dễ dàng nhất là di chuyển thư mục vào thư mục cục bộ bên trong PC của bạn (ví dụ:. C :).

2) nhưng nếu bạn muốn tiếp tục sử dụng OneDrive, tôi khuyên bạn nên thêm nó vào các trang web đáng tin cậy trên các tùy chọn khám phá internet và điều đó sẽ khắc phục được sự cố.

nhập mô tả hình ảnh ở đây


2

Giải pháp: Chỉnh sửa và lưu tệp!

Từ VisualStudio, chuyển đến Xem và mở rộng để xem tệp resx của nó

Nhấp chuột phải vào menu chọn OpenWith ... Trình soạn thảo XML (Văn bản) .

Chỉ cần thêm một khoảng trống ở cuối và lưu.


Tôi cũng đã thử nhiều cách khác và không thành công. Tôi cho rằng có một séc bổ sung gần đây
profimedica

1

Không có điều nào ở trên hoạt động.

  • Tùy chọn "Bỏ chặn" không có trong các thuộc tính của trình khám phá.
  • Tạo lại tệp, thêm thư mục (và tệp resx) vào Công cụ-> Tùy chọn-> Cài đặt tin cậy không hoạt động.

Giải pháp là sao chép dự án cục bộ (từ ổ đĩa mạng).


1

Nếu giống như tôi, bạn đã chăm chỉ làm theo tất cả các giải pháp trên mà lỗi vẫn còn đó, hãy thử đóng và mở lại Visual Studio.

Rõ ràng, tôi biết, nhưng có lẽ tôi không phải là người duy nhất trở nên đầu óc mờ mịt sau khi nhìn chằm chằm vào màn hình máy tính cả ngày.


1

Không có điều nào ở trên phù hợp với tôi.

Điều này đã xảy ra với tôi sau khi tôi thêm một nút mới vào thanh công cụ trên biểu mẫu giành chiến thắng. Khi nút sử dụng hình ảnh mặc định của System.Drawing.Bitmap(trong thuộc tính hình ảnh), lỗi này đã phát sinh đối với tôi. Sau khi tôi thay đổi nó thành một hình ảnh đáng tin cậy (một hình được thêm vào tệp tài nguyên của tôi với tùy chọn 'Mở khóa' được chọn), lỗi này đã tự giải quyết.


0

Tôi tình cờ gặp một lý do có thể khác của lỗi này. Nếu bạn sử dụng các liên kết tượng trưng NTFS trong cây dự án của mình và có thể là các ổ đĩa con, bạn có thể gặp lỗi này ngay cả khi chúng trỏ đến ổ đĩa cục bộ của bạn. Nếu đúng như vậy, hãy cố gắng tránh tình huống khi các tệp .resx được truy cập thông qua các liên kết tượng trưng.


Đây chính là nó. Tôi đã giới thiệu một liên kết tượng trưng để sửa lỗi đường dẫn tham chiếu trong một số mã từ một đại diện khác mà tôi hiếm khi sử dụng. Việc xóa liên kết tượng trưng và thay vào đó là hack csproj đã khắc phục được sự cố.
Christian

0

Không có đề xuất nào ở trên phù hợp với tôi vì vậy tôi đã tạo một tệp mới có tên hơi khác và sao chép nội dung của tệp vi phạm vào tệp mới, đổi tên tệp vi phạm và đổi tên tệp mới bằng tên tệp vi phạm. Làm việc như người ở. Vấn đề đã được giải quyết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.