Tidak dapat memproses file resx karena berada di Internet atau Zona terbatas atau memiliki tanda web pada file tersebut

95

Saya menghadapi masalah saat men-debug c # API Coding di Visual studio 2017. Debugging tidak dimulai dan menampilkan pesan kesalahan seperti

masukkan deskripsi gambar di sini

Ada ide tentang pesan kesalahan ini?

Raju.Saravanan
sumber
12
Coba klik kanan pada file dan pilih Properties, di Windowws Explorer. Apakah Anda memiliki opsi di bagian bawah dialog untuk membuka kunci file?
Lasse V. Karlsen
Great Lasse, Sekarang Debugging berfungsi dengan baik Terima kasih.
Raju.Saravanan
5
Apakah "tanda web" adalah Tanda Binatang yang baru?
Conrad

Jawaban:

154

Jika Anda mengunduh file dari internet, baik secara terpisah atau di dalam file .zip atau serupa, file tersebut mungkin telah "dikunci" karena ditandai sebagai berasal dari zona internet. Banyak program akan menggunakan ini sebagai tanda bahwa konten tidak boleh dipercaya.

Solusi paling sederhana adalah dengan mengklik kanan file di Windows Explorer, pilih Properties, dan di sepanjang bagian bawah dialog ini, Anda akan memiliki opsi "Buka blokir". Ingatlah untuk mengklik OK untuk menerima perubahan.

Jika Anda mendapatkan file dari arsip, biasanya lebih baik untuk membuka blokir arsip terlebih dahulu, jika file ditandai sebagai berasal dari zona internet, dan Anda mengekstraknya, bendera itu mungkin menyebar ke banyak file yang baru saja Anda batalkan pengarsipan. Jika Anda membuka blokir dulu, file yang tidak diarsipkan seharusnya baik-baik saja.

Ada juga perintah Powershell untuk ini, Buka Blokir-File :

> Unblock-File *

Selain itu, ada cara untuk menulis kode yang juga akan membuka kunci.

Dari komentar oleh @ Defcon1: Anda juga dapat menggabungkan Unblock-Filedengan Get-ChildItemuntuk membuat pipeline yang membuka blokir file secara rekursif. Karena Unblock-Filetidak ada cara untuk menemukan file secara rekursif dengan sendirinya, Anda harus menggunakan Get-ChildItemuntuk melakukan bagian itu.

> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
Lasse V. Karlsen
sumber
1
Terima kasih atas jawaban terperinci Anda.
Raju.Saravanan
1
Terima kasih atas referensi PowerShell - sangat membantu saat menangani banyak file
scotru
Mengapa perintah Powershell itu begitu sulit untuk saya temukan? Terima kasih! 👍
Neville
Memperbaiki masalah saya. Terima kasih
Mohamed Uvais M
14
Saya menggunakan Buka blokir file dalam mode rekursif:ps> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
Defkon1
65
  1. Buka file explorer. Arahkan ke direktori proyek / solusi
  2. Telusuri * .resx. -> Anda akan mendapatkan daftar file resx
  3. Klik kanan file resx, buka properti dan centang opsi 'Buka blokir'
  4. Ulangi # 3 untuk setiap file resx.
  5. Muat ulang proyek.
Atul Sureka
sumber
10
Tidak ada unblockpilihan.
dafie
1
Opsi buka blokir akan muncul di wilayah Atribut di bagian bawah tab Umum jika file diblokir. Jika tidak diblokir, opsi tidak muncul.
spadelives
1
Bekerja untuk saya! Jawaban yang bagus!
Toby
4
Untuk lebih jelasnya, ini ada di file explorer dan bukan di explorer solusi studio visual.
Ferus
Dapat mengonfirmasi bahwa ini masalahnya. Untuk menguraikan komentar @ Dafie: Jika tidak ada kotak centang buka blokir, file sudah dibuka blokirnya. Masalah ini disebabkan oleh salah satu dari yang lain. Anda akan melihat bahwa jika kotak centang ada di sana, Anda mencentangnya dan menekan "terapkan", kotak centang tersebut hilang sama sekali.
Sander Koldenhof
24

Tak satu pun dari jawaban ini berhasil untuk saya, saya harus melakukan yang berikut:

  1. Mulai Menu> ketik 'Opsi Internet'.
  2. Pilih Zona intranet lokal di tab Keamanan , lalu klik tombol Situs
  3. Klik tombol Advanced
  4. Masukkan file: // [nama komputer]
  5. Pastikan ' Memerlukan verifikasi server ... ' tidak dicentang

Sumber: https://superuser.com/q/44503

Baddack
sumber
1
Menambahkan file://domain.comberhasil, terima kasih! konteks: Perbaikan server besar memindahkan file kami ke DFS; domain Windows domain.comsehingga file sekarang berada di \\domain.com\...mana bisa memicu masalah.
Koditik
Saya dapat mengonfirmasi bahwa solusi ini menyelesaikan masalah saya untuk membangun bagian .slndalam jaringan yang dibagikan di jaringan lokal. Pesan kesalahan adalah: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
Saya juga dapat memastikan tidak ada yang berhasil kecuali ini. Saya menambahkan file: // [nama komputer] serta IP berbagi jaringan tempat saya memuat .sln (mis. File: //10.0.0.0). Saya menggunakan Windows 7 Enterprise 64-bit w / Internet Explorer versi 11.0.9600.19236 dan Visual Studio 2019 Community Edition. Tidak perlu restart Windows juga.
Marc
7

Melengkapi @ lasse-v-Karlsen jawaban . Untuk membuka blokir semua file secara rekursif, jalankan dari PowerShell sebagai administrator di dalam folder yang Anda inginkan:

gci -recurse | Unblock-File

link sumber: Bagaimana Cara Membuka Blokir File yang Diunduh dari Internet? - Winhelponline
https://www.winhelponline.com/blog/bulk-unblock-files-downloaded-internet/

Márcio Antônio Slivak
sumber
Ini berhasil .. meskipun saya bisa mengatakan itu semakin konyol di luar sana .... Keamanan yang terlalu buruk sangat gila ... tidak bisa mempercayai internet sama sekali ...
CA Martin
5

Meskipun ini adalah pertanyaan yang lebih lama, saya menghabiskan beberapa jam melacak cara untuk menangani kesalahan ini ketika berlaku untuk beberapa file yang terletak di sub folder di seluruh proyek.

Untuk memperbaiki ini untuk semua file dalam proyek , Visual Studio -> Alat -> Opsi -> Pengaturan Kepercayaan dan tambahkan jalur proyek sebagai jalur tepercaya.

Lintasan tepercaya Visual Studio

Cody J. Mathis
sumber
Satu-satunya hal yang berhasil untuk saya, tidak ada yang berhasil.
tebusan
Ini sepertinya cara yang harus ditempuh, alih-alih menggunakan PowerShell secara sewenang-wenang untuk memproses jalur ...
CA Martin
5
  1. Temukan jalur dari log kesalahan dan buka file di explorer 2) pilih file dan klik kanan -> properti
  2. Kemudian centang opsi 'buka blokir' dan klik terapkan masukkan deskripsi gambar di sini
surai
sumber
3

Saya mengalami masalah ini pada file resx dalam solusi saya. Saya menggunakan Onedrive. Namun tidak ada solusi di atas yang memperbaikinya.

Masalahnya adalah ikon yang saya gunakan ada di file MyWindow.resx untuk windows.

Saya menghapusnya kemudian mengambil ikon dari folder sumber daya App Local Resources.

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

Ini terjadi setelah pembaruan ke VS2019.

John Jacobson
sumber
2

Jika Anda menggunakan OneDrive, atau drive jaringan serupa, Anda memiliki 2 opsi:

1) yang mudah adalah dengan memindahkan folder ke direktori lokal di dalam PC Anda (misal: C :).

2) tetapi jika Anda ingin tetap menggunakan OneDrive, saya akan merekomendasikan untuk menambahkannya ke situs tepercaya di opsi penjelajah internet dan itu akan memperbaiki masalah.

masukkan deskripsi gambar di sini

Carlos Gregorio
sumber
2

Solusi: Edit dan simpan file!

Dari VisualStudio, buka View dan perluas untuk melihat file resx itu

Menu klik kanan pilih OpenWith ... XML (Text) Editor .

Cukup tambahkan spasi di akhir dan simpan.

profimedica
sumber
Saya juga mencoba banyak cara lain dan gagal. Saya berasumsi ada pemeriksaan tambahan baru-baru ini
profimedica
1

Tak satu pun di atas berhasil.

  • Opsi "Buka blokir" tidak ada di properti penjelajah.
  • Membuat ulang file, menambahkan folder (dan file resx) ke Tools-> Options-> Trust Settings tidak berfungsi.

Solusinya adalah menyalin proyek secara lokal (dari drive jaringan).

Vadim
sumber
1

Jika, seperti saya, Anda telah dengan rajin mengikuti semua solusi di atas dan kesalahan masih ada, coba tutup dan buka kembali Visual Studio.

Jelas, saya tahu, tapi mungkin saya bukan satu-satunya yang menjadi tidak jelas setelah menatap layar komputer sepanjang hari.

Masih belajar
sumber
1

Semua hal di atas tidak berhasil untuk saya.

Ini terjadi pada saya setelah saya menambahkan tombol baru ke toolstrip pada winform. Ketika tombol menggunakan gambar default System.Drawing.Bitmap(dalam properti gambar) kesalahan ini muncul untuk saya. Setelah saya mengubahnya menjadi gambar tepercaya (yang ditambahkan ke file sumber daya saya dengan opsi 'Buka Kunci' dicentang) kesalahan ini teratasi dengan sendirinya.

MX313
sumber
0

Saya menemukan kemungkinan alasan lain dari kesalahan ini. Jika Anda menggunakan tautan simbolik NTFS di pohon proyek Anda, dan mungkin drive pengganti, Anda mungkin mendapatkan kesalahan ini bahkan jika mereka menunjuk ke drive lokal Anda. Jika ini masalahnya, coba hindari situasi ketika file .resx dicapai melalui symlink.

Michael Yutsis
sumber
Ini dia. Saya telah memperkenalkan symlink untuk memperbaiki kesalahan jalur referensi di beberapa kode dari repo berbeda yang jarang saya gunakan. Menghapus symlink dan malah meretas csproj malah memperbaiki masalah.
Christian
0

Tidak ada saran di atas yang berhasil untuk saya, jadi saya membuat file baru dengan nama yang sedikit berbeda dan menyalin konten file yang melanggar ke file baru, mengganti nama file yang melanggar dan mengganti nama file baru dengan nama file yang melanggar. Bekerja seperti pesona. Masalah terpecahkan.

gesown
sumber