ไม่สามารถประมวลผลไฟล์ resx ได้เนื่องจากอยู่ในอินเทอร์เน็ตหรือโซนที่ จำกัด หรือมีเครื่องหมายของเว็บบนไฟล์


95

ฉันกำลังประสบปัญหาขณะทำการดีบัก c # API Coding ใน Visual studio 2017 การดีบักไม่เริ่มต้นและแสดงข้อความแสดงข้อผิดพลาดเช่น

ป้อนคำอธิบายภาพที่นี่

มีความคิดเกี่ยวกับข้อความแสดงข้อผิดพลาดนี้หรือไม่?


12
ลองคลิกขวาที่ไฟล์แล้วเลือก Properties ใน Windowws Explorer คุณมีตัวเลือกที่ด้านล่างของกล่องโต้ตอบเพื่อปลดล็อกไฟล์หรือไม่?
Lasse V.Karlsen

Great Lasse ตอนนี้การแก้จุดบกพร่องทำงานได้ดีขอบคุณ
Raju.Saravanan

5
"เครื่องหมายของเว็บ" Mark of the Beast ใหม่หรือไม่?
Conrad

คำตอบ:


154

หากคุณดาวน์โหลดไฟล์จากอินเทอร์เน็ตไม่ว่าจะแยกจากกันหรืออยู่ในไฟล์. zip หรือไฟล์ที่คล้ายกันไฟล์นั้นอาจถูก "ล็อก" เนื่องจากถูกตั้งค่าสถานะว่ามาจากโซนอินเทอร์เน็ต หลายโปรแกรมจะใช้สิ่งนี้เป็นสัญญาณว่าเนื้อหาไม่ควรเชื่อถือ

วิธีแก้ไขที่ง่ายที่สุดคือคลิกขวาที่ไฟล์ใน Windows Explorer เลือก Properties และที่ด้านล่างของกล่องโต้ตอบนี้คุณควรมีตัวเลือก "Unblock" อย่าลืมคลิกตกลงเพื่อยอมรับการเปลี่ยนแปลง

หากคุณได้รับไฟล์จากที่เก็บถาวรมักจะเป็นการดีกว่าที่จะเลิกบล็อกไฟล์เก็บถาวรก่อนหากไฟล์ถูกตั้งค่าสถานะว่ามาจากอินเทอร์เน็ตและคุณคลายซิปแฟล็กนั้นอาจแพร่กระจายไปยังไฟล์จำนวนมากที่คุณเพิ่งยกเลิกการเก็บ หากคุณยกเลิกการปิดกั้นก่อนไฟล์ที่ไม่ถูกเก็บไว้จะไม่เป็นไร

นอกจากนี้ยังมีคำสั่ง Powershell สำหรับสิ่งนี้คือUnblock-File :

> Unblock-File *

นอกจากนี้ยังมีวิธีการเขียนโค้ดที่จะลบการล็อกด้วย

จากความคิดเห็นของ @ Defcon1: คุณยังสามารถรวมUnblock-FileกับGet-ChildItemเพื่อสร้างไปป์ไลน์ที่ปลดบล็อกไฟล์ซ้ำได้ เนื่องจากUnblock-Fileไม่มีวิธีค้นหาไฟล์แบบวนซ้ำด้วยตัวเองคุณจึงต้องใช้Get-ChildItemเพื่อทำส่วนนั้น

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

1
ขอบคุณสำหรับการตอบกลับอย่างละเอียด
Raju.Saravanan

1
ขอบคุณสำหรับข้อมูลอ้างอิง PowerShell - มีประโยชน์มากเมื่อจัดการกับไฟล์จำนวนมาก
scotru

เหตุใดคำสั่ง Powershell จึงหายากสำหรับฉัน ขอบคุณ! 👍
Neville

แก้ไขปัญหาของฉัน ขอบคุณ
Mohamed Uvais M

14
ฉันใช้ Unblock-file ในโหมดเรียกซ้ำ:ps> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
Defkon1

65
  1. เปิด file explorer ไปที่ไดเร็กทอรี project / solution
  2. ค้นหา * .resx -> คุณจะได้รับรายชื่อไฟล์ resx
  3. คลิกขวาที่ไฟล์ resx เปิดคุณสมบัติและเลือกตัวเลือก 'Unblock'
  4. ทำซ้ำ # 3 สำหรับแต่ละไฟล์ resx
  5. โหลดโครงการซ้ำ

10
ไม่มีunblockตัวเลือกใดๆ
dafie

1
ตัวเลือกปลดบล็อกจะปรากฏในพื้นที่แอตทริบิวต์ที่ด้านล่างของแท็บทั่วไปหากไฟล์นั้นถูกบล็อก หากไม่บล็อกตัวเลือกจะไม่ปรากฏขึ้น
spadelives

1
ทำงานให้ฉัน! ตอบโจทย์มาก!
Toby

4
เพื่อความชัดเจนนี่คือใน file explorer และไม่ได้อยู่ใน solution explorer ของ visual studio
Ferus

สามารถยืนยันได้ว่าเป็นปัญหานี้ หากต้องการอธิบายรายละเอียดเกี่ยวกับความคิดเห็นของ @ Dafie: หากไม่มีช่องทำเครื่องหมายปลดบล็อกแสดงว่าไฟล์นั้นถูกปลดบล็อกแล้ว ปัญหานี้เกิดจากปัญหาอื่น ๆ คุณจะเห็นว่าหากมีช่องทำเครื่องหมายอยู่ให้คุณทำเครื่องหมายและกด "ใช้" ช่องทำเครื่องหมายจะหายไปพร้อมกัน
Sander Koldenhof

24

คำตอบเหล่านี้ไม่ได้ผลสำหรับฉันฉันต้องทำสิ่งต่อไปนี้:

  1. Start Menu> พิมพ์ 'Internet Options'
  2. เลือกLocal intranet zoneบนแท็บSecurityจากนั้นคลิกปุ่มSites
  3. คลิกปุ่มขั้นสูง
  4. ป้อนไฟล์: // [ชื่อคอมพิวเตอร์]
  5. ตรวจสอบให้แน่ใจว่า " ต้องมีการยืนยันเซิร์ฟเวอร์ ... "

ที่มา: https://superuser.com/q/44503


1
เพิ่มfile://domain.comการทำงานขอบคุณ! บริบท: การยกเครื่องเซิร์ฟเวอร์ครั้งใหญ่ย้ายไฟล์ของเราไปที่ DFS; โดเมน Windows เป็นdomain.comไฟล์ที่อยู่ในขณะนี้\\domain.com\...ซึ่งอาจทำให้เกิดปัญหาได้
Kodithic

ฉันสามารถยืนยันได้ว่าโซลูชันนี้ช่วยแก้ปัญหาของฉันในการสร้างการ.slnแชร์ภายในเครือข่ายในเครือข่ายท้องถิ่น ข้อความแสดงข้อผิดพลาดคือ: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.
มี.ค.

ฉันยังสามารถยืนยันได้ว่าไม่มีอะไรได้ผลนอกจากนี้ ฉันเพิ่มไฟล์: // [ชื่อคอมพิวเตอร์] รวมถึง IP แชร์เครือข่ายที่ฉันกำลังโหลด. sln จาก (เช่นไฟล์: //10.0.0.0) ฉันใช้ Windows 7 Enterprise 64 บิตพร้อม Internet Explorer เวอร์ชัน 11.0.9600.19236 และ Visual Studio 2019 Community Edition ไม่จำเป็นต้องรีสตาร์ท Windows เช่นกัน
Marc

7

เมี่ยง @ Lasse-V-Karlsen คำตอบ ในการปลดบล็อกไฟล์ทั้งหมดแบบวนซ้ำให้เรียกใช้จาก powershell ในฐานะผู้ดูแลระบบภายในโฟลเดอร์ที่คุณต้องการ:

gci -recurse | Unblock-File

ลิงก์แหล่งที่มา: วิธีการปลดบล็อกไฟล์ที่ดาวน์โหลดจากอินเทอร์เน็ต? - Winhelponline
https://www.winhelponline.com/blog/bulk-unblock-files-downloaded-internet/


นี้ทำงาน .. แต่ผมสามารถพูดได้ก็เริ่มออกมาไร้สาระมี .... มันเป็นความปลอดภัยที่ไม่ดีก็เป็นคนบ้าดังนั้น ... สามารถอินเทอร์เน็ตไม่ไว้วางใจเลย ...
CA มาร์ติน

5

แม้ว่านี่จะเป็นคำถามที่เก่ากว่า แต่ฉันใช้เวลาหลายชั่วโมงในการติดตามหาวิธีจัดการข้อผิดพลาดนี้เมื่อใช้กับไฟล์หลายไฟล์ที่อยู่ในโฟลเดอร์ย่อยทั่วทั้งโครงการ

เมื่อต้องการแก้ไขปัญหานี้สำหรับไฟล์ทั้งหมดภายในโครงการ Visual Studio -> Tools -> Options -> Trust Settings และเพิ่มเส้นทางโครงการเป็นเส้นทางที่เชื่อถือได้

เส้นทางที่เชื่อถือได้ของ Visual Studio


สิ่งเดียวที่ใช้ได้ผลสำหรับฉันไม่มีคนอื่นทำงาน
เรียกค่าไถ่

ดูเหมือนจะเป็นวิธีที่จะไปแทนที่จะใช้ PowerShell เพื่อประมวลผลเส้นทางโดยพลการ ...
CA Martin

5
  1. ค้นหาเส้นทางจากบันทึกข้อผิดพลาดและเปิดไฟล์ใน explorer 2) เลือกไฟล์และคลิกขวา -> คุณสมบัติ
  2. จากนั้นตรวจสอบตัวเลือก 'ปลดบล็อก' และคลิกที่ใช้ ป้อนคำอธิบายภาพที่นี่

3

ฉันมีปัญหานี้กับไฟล์ resx ในโซลูชันของฉัน ฉันใช้ Onedrive อย่างไรก็ตามไม่มีวิธีแก้ไขปัญหาใด ๆ ข้างต้นได้รับการแก้ไข

ปัญหาคือไอคอนที่ฉันใช้อยู่ในไฟล์ MyWindow.resx สำหรับ Windows

ฉันลบสิ่งนั้นแล้วคว้าไอคอนจากโฟลเดอร์ทรัพยากร App Local Resources

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

สิ่งนี้เกิดขึ้นหลังจากการอัปเดต VS2019


2

หากคุณใช้ OneDrive หรือไดรฟ์เครือข่ายที่คล้ายกันคุณมี 2 ตัวเลือก:

1) วิธีง่ายๆคือย้ายโฟลเดอร์ไปยังไดเร็กทอรีภายในเครื่องพีซีของคุณ (เช่น :. C :)

2) แต่ถ้าคุณต้องการใช้ OneDrive ต่อไปฉันขอแนะนำให้เพิ่มลงในไซต์ที่เชื่อถือได้บนตัวเลือก internet explorer และจะช่วยแก้ปัญหาได้

ป้อนคำอธิบายภาพที่นี่


2

วิธีแก้ไข: แก้ไขและบันทึกไฟล์!

จาก VisualStudio ไปที่ View และขยายเพื่อดูไฟล์ resx

เมนูคลิกขวาเลือก OpenWith ... XML (Text) บรรณาธิการ

เพียงเพิ่มช่องว่างด้านท้ายและบันทึก


ฉันยังลองวิธีอื่น ๆ อีกมากมายและล้มเหลว ฉันคิดว่ามีการตรวจสอบเพิ่มเติมล่าสุด
profimedica

1

ข้างต้นไม่ได้ผล

  • ไม่มีตัวเลือก "Unblock" ในคุณสมบัติ explorer
  • การสร้างไฟล์ใหม่เพิ่มโฟลเดอร์ (และไฟล์ resx) ไปยัง Tools-> Options-> Trust Settings ไม่ทำงาน

วิธีแก้ปัญหาคือการคัดลอกโครงการในเครื่อง (จากไดรฟ์เครือข่าย)


1

ถ้าเช่นฉันคุณได้ปฏิบัติตามอย่างขยันขันแข็งทุกการแก้ปัญหาดังกล่าวและข้อผิดพลาดที่ยังคงมีให้ลองปิดและเปิด Visual Studio

เห็นได้ชัดว่าฉันรู้ แต่บางทีฉันอาจไม่ใช่คนเดียวที่สมองเลือนลางหลังจากจ้องหน้าจอคอมพิวเตอร์ทั้งวัน


1

ข้างต้นไม่ได้ผลสำหรับฉัน

สิ่งนี้เกิดขึ้นกับฉันหลังจากที่ฉันเพิ่มปุ่มใหม่ลงในแถบเครื่องมือบน winform เมื่อปุ่มใช้รูปภาพเริ่มต้นของSystem.Drawing.Bitmap(ในคุณสมบัติรูปภาพ) ข้อผิดพลาดนี้เกิดขึ้นสำหรับฉัน หลังจากที่ฉันเปลี่ยนเป็นอิมเมจที่เชื่อถือได้ (ภาพที่เพิ่มลงในไฟล์ทรัพยากรของฉันโดยเลือกตัวเลือก "ปลดล็อก") ข้อผิดพลาดนี้ได้รับการแก้ไข


0

ฉันพบอีกสาเหตุหนึ่งที่เป็นไปได้ของข้อผิดพลาดนี้ หากคุณใช้ลิงก์สัญลักษณ์ NTFS ในแผนผังโครงการของคุณและอาจเป็นไดรฟ์ที่ถูกแทนที่คุณอาจได้รับข้อผิดพลาดนี้แม้ว่าจะชี้ไปที่ไดรฟ์ภายในเครื่องของคุณก็ตาม หากเป็นกรณีนี้ให้พยายามหลีกเลี่ยงสถานการณ์เมื่อเข้าถึงไฟล์. resx ผ่าน symlinks


นี่คือมัน ฉันแนะนำ symlink เพื่อแก้ไขข้อผิดพลาดเส้นทางอ้างอิงในบางรหัสจาก repo อื่นที่ฉันไม่ค่อยได้ใช้ การลบ symlink ออกและทำการแฮ็ก csproj แทนเพื่อแก้ไขปัญหา
Christian

0

คำแนะนำข้างต้นไม่ได้ผลสำหรับฉันดังนั้นฉันจึงสร้างไฟล์ใหม่ที่มีชื่อแตกต่างกันเล็กน้อยและคัดลอกเนื้อหาของไฟล์ที่กระทำผิดไปยังไฟล์ใหม่เปลี่ยนชื่อไฟล์ที่กระทำผิดและเปลี่ยนชื่อไฟล์ใหม่ด้วยชื่อไฟล์ที่ละเมิด ทำงานอย่างมีเสน่ห์ แก้ไขปัญหา.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.