ข้อผิดพลาด: allowDefinition = 'MachineToApplication' เกินระดับแอปพลิเคชัน


193

ฉันได้ดาวน์โหลดโครงการออนไลน์ใน ASP.Net ในขณะที่เรียกใช้แอปพลิเคชันฉันพบข้อผิดพลาด

เป็นข้อผิดพลาดในการใช้ส่วนที่ลงทะเบียนเป็น allowDefinition = 'MachineToApplication' เกินระดับแอปพลิเคชัน ข้อผิดพลาดนี้อาจเกิดจากไดเรกทอรีเสมือนที่ไม่ได้กำหนดค่าเป็นแอปพลิเคชันใน IIS

ฉันควรทำการเปลี่ยนแปลงอะไรใน web.config หรือที่อื่น ๆ เพื่อให้ใช้งานได้


53
ไม่พบคำตอบในเว็บที่เหมาะกับฉัน ปัญหาของฉันได้รับการแก้ไขโดยการแสดงไฟล์ / โฟลเดอร์ที่ซ่อนอยู่ทั้งหมดและลบobjโฟลเดอร์
มัฟฟินชาย

6
ปัญหานี้ยังคงปรากฏใน VS2012 ฉันได้เปิดรายงานข้อผิดพลาดกับ Microsoft ใครก็ตามที่ประสบปัญหากรุณาลงทะเบียนรายงานข้อผิดพลาดconnect.microsoft.com/VisualStudio/feedback/details/779737/…
Eric J.

4
การลบโฟลเดอร์ obj แก้ไขปัญหานี้ให้ฉันด้วย ขอบคุณ @Nick! (ขออภัยสำหรับการฟื้นฟู)
Jordan Wayne Crabb

วิธีแก้ไขที่นี่: stackoverflow.com/questions/9300927/…
benni_mac_b

ในกรณีของฉัน web.config พิเศษในโฟลเดอร์ย่อยทำให้เกิดปัญหานี้ เมื่อฉันลบ web.conf นั้นพิเศษข้อผิดพลาดจะหายไป
Dio Phung

คำตอบ:


96

ฉันเพิ่งพบ "ความสุข" นี้ ดูเหมือนว่าจะปรากฏตัวหลังจากที่ฉันเผยแพร่เว็บแอปพลิเคชันในโหมดเผยแพร่

วิธีเดียวที่จะแก้ไขปัญหาที่พบได้อย่างสม่ำเสมอคือทำตามรายการตรวจสอบนี้:

  1. ล้างโซลูชันขณะที่กำหนดค่าโซลูชันของคุณในโหมด Release
  2. ล้างโซลูชันขณะที่โซลูชันของคุณได้รับการกำหนดค่าในโหมดดีบั๊ก
  3. สร้างในขณะที่โซลูชันของคุณได้รับการกำหนดค่าในโหมดดีบั๊ก

18
เฉพาะคำตอบที่เหมาะกับฉันด้วย ฉันมีข้อผิดพลาดอื่น ๆ อีกมากมายรอฉันหลังจากนี้ แต่พวกเขาก็ไม่เกี่ยวข้อง ผมได้ที่นี่โดยการตั้งค่าไปMvcBuildViews true
เบนจามิน

+1 BTW: ผมคิดว่าเหตุผลนี้ทำงานสำหรับฉันก็คือการสร้างล่าสุดที่ฉันได้ถูกตรวจแก้จุดบกพร่อง ฉันเปิดโซลูชันทำการแก้ไขข้อผิดพลาดและพยายามสร้างในโหมดR Release การล้างในReleaseไม่ทำงาน แต่การล้างในDebugทำได้ (อาจจะเป็นคำสั่งผสมของ 2 คือสิ่งที่จำเป็นคือล้างออกอ้างอิงใด ๆที่กำลังไม่ว่าจะเป็นดีบั๊กหรือปล่อย )
Scotty.NET

4
ฉันทำความสะอาดแล้วไปที่* คุณสมบัติโครงการ -> เว็บ -> สร้างไดเรกทอรีเสมือนและแก้ไขปัญหาแล้ว
gldraphael

ทำความสะอาดและสร้างใหม่ในขณะที่อยู่ในโหมดแก้ไขข้อบกพร่องทั้งหมดที่ฉันต้องการ ไม่จำเป็นต้องสลับไปมาระหว่างรีลีสและดีบั๊ก แต่ใช่ CLEAN นั้นสำคัญมาก นั่นคือหัวใจของเรื่อง
markaaronky

1
ความสะอาดไม่สามารถใช้ได้ในกรณีของฉันซึ่งฉันไม่เคยเห็นมาก่อน นี่เป็นแอปพลิเคชั่น VB.NET ที่เก่าแก่มากที่ฉันสืบทอดมาจากเพื่อนร่วมงานคนก่อน ๆ
tnk479

82

เพิ่งเจอโพสต์นี้และที่เกิดขึ้นกับฉัน
เพียงCleanโครงการและข้อผิดพลาดจะหายไป (ต้องเป็นข้อผิดพลาด VS2010)


วิธีนี้ถ้าคุณได้รับสิ่งนี้เป็นข้อผิดพลาดใน Visual Studio
gideon

22
บางครั้งการทำความสะอาดจะไม่ล้างobjโฟลเดอร์ออก บางครั้งต้องลบเช่นกัน
jaypeagi

1
ไม่ทำความสะอาดหรือลบ obj ทำงาน วิธีแก้ปัญหาของ Johnny Reilly นั้นใช้ได้สำหรับฉัน
เบนจามิน

ฉันต้องทำความสะอาดทั้ง debug และ release modes เพื่อกำจัดสิ่งนี้ เรียกใช้เพียงแค่ดีบักดูเหมือนจะไม่สามารถแก้ปัญหาได้
Juha Palomäki

ปัญหาเดียวกันยังคงมีอยู่ใน VS2013SP1 การทำความสะอาดอย่างง่ายช่วยให้ฉันสามารถปรับใช้อีกครั้ง
Brian Knoblauch

25

ฉันเพิ่งมีปัญหานี้เมื่อสร้างเว็บไซต์รุ่นที่สองของฉัน มันไม่ได้เกิดขึ้นเมื่อฉันสร้างมันครั้งแรก

ฉันเพิ่งลบโฟลเดอร์ bin และ obj เรียกใช้ Clean Solution และสร้างขึ้นใหม่อีกครั้งคราวนี้โดยไม่มีปัญหา


2
นี่เป็นทางออกเดียวที่ใช้ได้สำหรับฉันใน VS Express 2012 สำหรับเว็บ นอกจากนี้ฉันเพิ่งเริ่มได้รับข้อผิดพลาดนี้หลังจากที่ฉันสร้างการกำหนดค่าโซลูชันและเพิ่ม MvcBuildViews ที่ตั้งค่าเป็นจริงสำหรับ PropertyGroup ในแหล่งที่มา. csproj
Jeremy Cook

20

ไม่มี. คุณจำเป็นต้องตั้งค่าไดเรกทอรีที่คุณได้วางเว็บไซต์เป็นโปรแกรมเว็บภายใน IIS


1
แม้ว่าในทางเทคนิคนั่นเป็นการเปลี่ยนแปลง "ที่อื่นเพื่อให้งานนี้";)
Zhaph - Ben Duguid

2
และนี่คือทางออกถ้าคุณได้รับสิ่งนี้เป็นข้อผิดพลาดในเว็บแอปของคุณ! = P
gideon

ฉันตั้งค่าเป็นแอปพลิเคชันแล้ว โซลูชันของ Johnny Reilly ทำงานในกรณีของฉัน
เบนจามิน

ฉันแค่พยายามทำให้แอป Webforms เทมเพลตทำงาน มันใช้ได้บน localhost แต่ไม่ได้อยู่บนเซิร์ฟเวอร์บน LAN วิธีนี้ใช้ได้ผลกับฉัน: VS2015 CE, Windows Server 2008 บน LAN ของฉัน ผมใช้ MS หน้านี้เพื่ออธิบายสิ่งที่ต้องทำบน IIS: support.microsoft.com/en-gb/kb/917413 ไม่มีการเปลี่ยนแปลงรหัสเทมเพลต
ทิม

16

ข้อผิดพลาดนี้เกิดขึ้นเมื่อคุณพยายามเปิดโครงการเป็นเว็บไซต์ วิธีที่ง่ายที่สุดในการพิจารณาว่าคุณได้สร้างเว็บไซต์หรือโครงการคือการตรวจสอบโฟลเดอร์โซลูชันของคุณ (เช่นที่คุณบันทึกรหัสของคุณ) และดูว่าคุณมีไฟล์ * .sln ในไดเรกทอรีรากหรือไม่ถ้าคุณเป็นเช่นนั้น ได้สร้างโครงการแล้ว

เพิ่งเพิ่มฉันพบข้อผิดพลาดนี้ตอนที่ฉันพยายามเปิดโครงการที่ฉันสร้างไว้ครู่หนึ่งโดยเลือก "ไฟล์", "เปิดเว็บไซต์" จากเมนู Visual Studio ในขณะที่ฉันควรเลือก "ไฟล์", "เปิดโครงการ" แทน. ฉัน Facepalmed ทันทีที่ฉันรู้ :)


นี่เป็นปัญหาของฉันด้วย
mgrenier

13

ใน Visual Studio 2013 ฉันต้องดิ้นรนกับสิ่งนี้ชั่วระยะเวลาหนึ่งและมันก็ค่อนข้างง่ายที่จะแก้ไขเพียงทำตามสิ่งที่กล่าวว่า "ไดเรกทอรีเสมือนไม่ได้ถูกกำหนดค่าเป็นแอปพลิเคชันใน IIS"

ในกรณีของฉันฉันได้WebServiceปลูกภายในIIS websiteเพื่อ

  1. ฉันเปิดเว็บไซต์ในโปรแกรมจัดการ IIS
  2. คลิกขวาที่โฟลเดอร์ WCF
  3. คลิก Convert to Application
  4. แล้วส่งด้วย Ok

WCF กลับมาแล้วทำงาน


1
ฉันพบปัญหานี้เมื่อฉันย้ายแอปพลิเคชันของฉันไปที่เว็บไซต์เริ่มต้น เคล็ดลับที่ 3 ทำเคล็ดลับเพื่อแก้ไขปัญหาของฉัน
bikram s

สิ่งนี้ใช้ได้สำหรับฉันเมื่อเราย้ายไปที่เว็บเซิร์ฟเวอร์ใหม่ หลังจากทำ "แปลงเป็นแอปพลิเคชัน" สัญลักษณ์ของโฟลเดอร์จะเปลี่ยนไปและเว็บ ASP.NET ASP.NET MVC เริ่มทำงานบนเว็บเซิร์ฟเวอร์นั้น
เกร็กบาร์ ธ

11

ข้อผิดพลาดแสดงให้เห็นว่ารหัสที่คุณใช้กำลังคาดว่าจะมีไดเรกทอรีเสมือนติดตั้งบน IIS

ค้นหาเอกสารและเพิ่มไดเรกทอรีเสมือนที่จำเป็น มันควรเป็นไดเรกทอรีที่มีweb.configอยู่ในนั้น (ไม่ใช่ไดเรกทอรีราก)


8
การลบ web.config ตัวที่สองในไดเรกทอรีล่างแก้ปัญหาให้ฉันได้
Lucas B

10
หนึ่งในคนของฉันมีเขา<authentication mode="Forms"><forms name="..." loginUrl="~/Login/Login/" timeout="2880" /></authentication>ในของเขาWeb.configในViewsค่อนข้างแล้วโฟลเดอร์ลำต้นซึ่งทำให้เกิดปัญหานี้
Serj Sagan

10

หากคุณมีโครงการ MVC ที่มีการเปิดใช้งานมุมมองการสร้างหนึ่งในวิธีการแก้ปัญหาคือการลบโฟลเดอร์ obj ก่อนที่จะสร้าง เพิ่มในไฟล์โครงการ:

<Target Name="BeforeBuild">
    <!-- Remove obj folder -->
    <RemoveDir Directories="$(BaseIntermediateOutputPath)" />
    <!-- Remove bin folder -->
    <RemoveDir Directories="$(BaseOutputPath)" />
</Target>

นี่คือบทความ: วิธีลบโฟลเดอร์ bin และ / หรือ obj ก่อนการสร้างหรือปรับใช้


8

การเปลี่ยนแปลง web.config ล่าสุดอาจอยู่ในไฟล์ web.config ที่ไม่ถูกต้อง

<machineKey...>คุณสมบัติได้รับการเพิ่มผู้ชม / web.config ไม่ว่าจะมีข้อผิดพลาดในการทำความสะอาดและสร้างใหม่จำนวนเท่าใด การแก้ไขคือการย้ายสถานที่ให้บริการลงราก/web.config


เราได้คัดลอก Web.config หลักไปยังโฟลเดอร์ / Views โดยไม่ตั้งใจ วางเวอร์ชันดั้งเดิมที่เล็กกว่ามากสำหรับโฟลเดอร์ Views ไว้ที่นั่นและไซต์จะทำงานอีกครั้ง
Grandizer

6

หากคุณเคยพบข้อผิดพลาดนี้

เป็นข้อผิดพลาดในการใช้ส่วนที่ลงทะเบียนเป็น allowDefinition = 'MachineToApplication' เกินระดับแอปพลิเคชัน ข้อผิดพลาดนี้อาจเกิดจากไดเรกทอรีเสมือนที่ไม่มีการกำหนดค่าเป็นแอปพลิเคชันใน IIS

การแก้ไข
ฉันมีปัญหาเดียวกันกับ VS 2012 ฉันแก้ไขปัญหานี้โดย

  1. ยกเลิกการโหลดโครงการปัจจุบันของคุณ
  2. แก้ไข. csproj ของคุณ
  3. ค้นหาสิ่งนี้ <MvcBuildViews>false</MvcBuildViews>
  4. แทนที่จะเป็นเท็จเปลี่ยนค่าเป็นจริง
  5. โหลดโครงการของคุณอีกครั้งและคุณไม่ควรมีข้อผิดพลาดนี้อีก

หากคุณมีวิธีแก้ไขปัญหาเดียวคือการลบเนื้อหาของโฟลเดอร์ obj ในโครงการที่สร้างโดยคอมไพเลอร์


18
ที่แปลก, การตั้งค่าMvcBuildViewsที่จะtrueเป็นวิธีการที่ผมได้รับข้อผิดพลาดในสถานที่แรก
Benjamin

ฉันก็เริ่มได้รับข้อความแสดงข้อผิดพลาดหลังจากเปลี่ยน MvcBuildViews เป็นจริง ฉันกำจัดข้อความแสดงข้อผิดพลาดโดยเปลี่ยนค่ากลับเป็นเท็จ
Juha Palomäki

3
ฉันทำ "วิธีแก้ปัญหาที่สะอาด" ทั้งในโหมดรีลีสและดีบั๊กและตอนนี้<MvcBuildViews>true</MvcBuildViews>
บิลด์

@ JuhaPalomäkiสุดยอด! ขอบคุณ
Haroon

ฉันมีสถานการณ์ตรงข้ามกับ @visar_uruqi ฉันหมายถึงในไฟล์. csprojของฉันฉันมีตัวเลือก MvcBuildViews ตั้งค่าเป็นจริงและเมื่อฉันตั้งค่าเป็นเท็จข้อผิดพลาดถูกละเว้น (ไม่แสดง)
Bronek

5

ในกรณีของฉันปัญหาปรากฏขึ้นหลังจากฉันเผยแพร่โครงการไปยังไดเรกทอรีย่อยเท่านั้น เนื่องจากฉันขาดความรู้ฉันจึงวางweb_publishไดเรกทอรีย่อยไว้ในweb_projectไดเรกทอรี

เป็นที่ชัดเจนว่าสิ่งที่web_publishบรรจุยังเป็นสิ่งเดียวกันกับWeb.configที่มีในโครงการ อย่างไรก็ตาม, web_projectไม่ทราบว่าฉันweb_publishควรหลีกเลี่ยงเมื่อค้นหาWeb.configs ในไดเรกทอรีย่อยที่ซ้อนกัน ด้วยวิธีนี้Web.config s ถูกทำซ้ำและข้อผิดพลาดปรากฏขึ้น

ทางออกคือการวางของฉันที่web_publishอื่น


5

ในกรณีของฉันมีโฟลเดอร์ "สำรองข้อมูล" ซึ่งบรรจุสำเนาของเว็บไซต์ทั้งหมดไว้ในนั้น นี่หมายถึงสิ่งอื่นweb.configและการสร้างล้มเหลวด้วยข้อผิดพลาดนี้ ฉันลบโฟลเดอร์ "สำรองข้อมูล" เป็นวิธีแก้ปัญหาใหม่ทั้งหมดในการสร้าง Debug และ Release และข้อผิดพลาดหายไป


ฉันมีสถานการณ์ที่คล้ายกันมีคนสร้างโฟลเดอร์ย่อย "เผยแพร่" ภายในรูทเว็บไซต์บนดิสก์ (นี่เป็นโครงการเว็บเก่าหนึ่งในนั้นที่ไม่มีไฟล์โซลูชัน) และนี่ก็มี Web.config อยู่ด้วย ข้อผิดพลาดเกิดขึ้นเมื่อ Visual Studio พยายามสร้างและไม่มีการล้าง / ลบโฟลเดอร์ "obj" และอื่น ๆ จำนวนมากแน่นอนว่า ฉันเห็นข้อผิดพลาดนี้ค่อนข้างน้อยและเกือบทุกครั้งจะมี Web.config ที่ซ้ำกันซ่อนอยู่ที่ไหนสักแห่ง ... (ข้อผิดพลาดที่แย่มากเช่นกัน!)
รายละเอียด

4

ในกรณีของฉัน

โซลูชันประกอบด้วย 6 โครงการ 1 ไดเรกทอรีหลักและ 5 ไดเรกทอรีย่อย ไดเรกทอรีย่อยทั้งหมดที่มี web.config

เมื่อเรียกใช้หน้าใด ๆ ภายในไดเรกทอรีย่อยฉันได้รับข้อผิดพลาดเดียวกัน

ฉันลบบรรทัดนี้ออกจาก web.config

<authentication mode="Windows"/>

ที่ทำงานให้ฉัน


คุณลบบรรทัดอะไร
Mark Berry

บรรทัดนั้นมี แต่ไม่แสดงเนื่องจากปัญหาเยื้องฉันเดา ฉันแก้ไขและวางโค้ดในบล็อคโค้ดจะแสดงทันที โปรดตรวจสอบและแจ้งให้เราทราบหากฉันสามารถช่วยในบางสิ่งบางอย่าง
p_champ

ขอบคุณที่ยืนยันบรรทัดที่มันล้มเหลวสำหรับฉันเช่นกัน ฉันมีเว็บไซต์เพียงแห่งเดียวดังนั้นฉันจึงเข้ามาใกล้ ๆ โดยเปิดเป็นเว็บไซต์แทนที่จะเป็นโครงการ
Mark Berry

4

ล้างโครงการของคุณลบโฟลเดอร์ / obj (อาจใช้การเผยแพร่และการปรับใช้ - มีข้อผิดพลาดอยู่ในนั้น)


ทางออกเดียวที่ใช้ได้สำหรับฉัน มาที่นี่โดยการตั้งค่า <MvcBuildViews> true </MvcBuildViews>
Paul

3

ปัญหาของฉันคือฉันได้เผยแพร่เว็บเซอร์ของฉันโดยไม่ตั้งใจไปยังสถานที่ที่เสร็จสมบูรณ์ในการติดตั้ง VS2010 ใหม่

ฉันได้เผยแพร่ไปยังโฟลเดอร์ที่เรียกว่าPreCompiledWebและการปรากฏตัวของ web.config ฉันสงสัยว่ามันเกิดความสับสน

ฉันเพียงแค่ nuked โฟลเดอร์และรีเฟรชโครงการ

เมื่อดับเบิลคลิกที่ข้อผิดพลาดนี้ - พาฉันไปที่ไฟล์ web.config ที่ผิดพลาดซึ่งทำให้ฉันปิด


2

อาจเป็นปัญหารุ่นเช่นคุณดาวน์โหลดโครงการ. NET Framework 2.0 และต้องการเปิดเป็น VS2008 จากนั้นคุณจะต้องอัปเกรดเป็นเวอร์ชันล่าสุดและ VS จะสร้างการสำรองข้อมูลของโฟลเดอร์ในไดเรกทอรีรากเดียวกันคุณจะ ได้คำตอบที่นี่


คำตอบของ ranganh ที่นี่ให้รายละเอียดเพิ่มเติมบางอย่าง
Mark Berry

2

ฉันมีข้อผิดพลาดนี้เมื่อสร้างโซลูชันด้วย Web Deployment Project ที่สร้างขึ้นในโซลูชันของฉัน ฉันแก้ไขข้อผิดพลาดโดยการลบโฟลเดอร์ที่สร้างโครงการการปรับใช้เว็บ โฟลเดอร์นี้ถูกระบุในคุณสมบัติ "Project Folder" ของคุณสมบัติ WDP


2

ลบโฟลเดอร์ bin และ obj จากนั้นสร้างโซลูชันใหม่


สำหรับ File Explorer ให้ใช้คำค้นหา "obj" ชนิด: = โฟลเดอร์และ "bin" ชนิด: = โฟลเดอร์เพื่อค้นหา / ลบโฟลเดอร์เหล่านี้ สิ่งนี้ใช้ได้สำหรับฉัน
Robert J. Good

2

เห็นได้ชัดว่ามีไฟล์ web.config สองไฟล์ในโซลูชันของฉัน ฉันใช้ MVC4 และมีไฟล์ config อีกอันภายใต้ Views และฉันทำการเปลี่ยนแปลงในไฟล์ที่ไม่ถูกต้อง คงมีช่วยฉัน

แต่คุณสามารถเปลี่ยนค่าเริ่มต้นการเปลี่ยนเส้นทาง / เส้นทางในไฟล์ global.asax


1

อาจเป็นไปได้ว่าคุณมีโฟลเดอร์โครงการย่อย asp.net ภายในโฟลเดอร์โครงการซึ่งไม่ได้กำหนดค่าเป็นไดเรกทอรีเสมือน ตั้งค่าโครงการให้ทำงานใน IIS



1

ฉันพบปัญหานี้บ่อยขึ้นหากเปิดใช้งาน "true" ในไฟล์โครงการ

  1. ตั้งค่าเป็นเท็จ

อย่างที่จอนนี่พูดว่า:

  1. ล้างโซลูชันขณะที่กำหนดค่าโซลูชันของคุณในโหมด Release
  2. ล้างโซลูชันขณะที่โซลูชันของคุณได้รับการกำหนดค่าในโหมดดีบั๊ก
  3. สร้างในขณะที่โซลูชันของคุณได้รับการกำหนดค่าในโหมดดีบั๊ก

1

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


1

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


4
สวัสดียินดีต้อนรับสู่ Stack Overflow! คุณช่วยขยายคำตอบของคุณหน่อยได้ไหม? คุณช่วยอธิบายวิธีการแปลงโฟลเดอร์เป็น Web Application ได้หรือไม่? สิ่งนี้จะช่วยให้ผู้อื่นเข้าใจคำตอบของคุณได้ดีขึ้น
Jesse

1
ใน IIS Manager, ภายใต้การเชื่อมต่อบานหน้าต่างด้านขวาให้คุณคลิกขวาที่ไดเรกทอรีภายใต้เว็บไซต์ที่คุณได้สร้าง (หรือเว็บไซต์เริ่มต้น) Convert to Applicationและเลือก
Aske B.

1

ฉันมีปัญหาเดียวกันใน VS 2013 หลังจากเผยแพร่โครงการของฉันในโหมดแก้ไขข้อบกพร่อง ปัญหาได้รับการแก้ไขโดยการลบ obj / ไฟล์


1

ฉันมีโครงการเว็บไซต์

ในกรณีของฉันฉันได้ย้ายไฟล์โซลูชันไปยังเส้นทางอื่นและทำให้เกิดปัญหา ฉันกู้คืนไปยังตำแหน่งก่อนหน้าและปัญหาก็ดับลง


1

สำหรับผู้ที่ยังคงมองหาทางออกของฉันคือการลบทั้ง bin และ obj โฟลเดอร์และเริ่ม visual studio ดูเหมือนว่าจะแก้ไข


1

ผ่าน Visual Studio ฉันได้เผยแพร่บริการ WCF ผ่าน FTPไปยังเซิร์ฟเวอร์ภายนอก มันทำงานได้ดีในท้องถิ่นและเมื่อเผยแพร่ไปยังเซิร์ฟเวอร์ภายใน แต่ไม่ไปที่ภายนอก ทางออกคือการเผยแพร่โดยไม่ต้องให้ Site Path (ในคำอื่น ๆ เผยแพร่โดยตรงไปที่รากของไดเรกทอรีเสมือน)

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


0

เคล็ดลับที่ 1: ทำความสะอาดแล้วสร้างใหม่

เคล็ดลับที่ 2: เพียงแค่ปิด VS แล้วเปิดอีกครั้ง

เคล็ดลับ 3: โครงการที่ดาวน์โหลดมาอาจอยู่ในโฟลเดอร์ย่อยอื่น ... เปิดโฟลเดอร์ที่มีไฟล์. net

c: / demo1 / demo / (ไฟล์ทั้งหมด)

คุณควรจะต้องเปิดตัวอย่างจาก vs ... ไม่ใช่ demo1


0

ฉันลองทุกวิธีการด้านบน แต่ไม่มีวิธีใดที่แก้ปัญหาของฉันได้ (ฉันแน่ใจว่ามี 1,000 วิธีในการแก้ไขปัญหานี้) สำหรับสถานการณ์ของฉันฉันพยายามเผยแพร่บริการเว็บ WCF ของฉันที่ฉันได้ทำการทดสอบในการผลิต

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

ฉันหวังว่าจะช่วยให้วิญญาณที่น่าสงสารบางคนพยายามแก้ไขปัญหานี้

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