“ ไม่สามารถโหลดประเภท [Namespace] .Global” ทำให้ฉันเศร้า


106

ในแอป. Net 2.0 Asp.net WebForms ของฉันฉันมี Global.asax ที่มีรหัสต่อไปนี้:

<%@ Application CodeBehind="Global.asax.cs" Inherits="MyNamespace.Global" Language="C#" %>

อย่างไรก็ตามเมื่อฉันสร้างฉันได้รับข้อผิดพลาดระบุ -

ไม่สามารถโหลดประเภท 'MyNamespace.Global'

สิ่งนี้น่าจะเป็นเพราะ Namespace ของ MyNamespace (กำหนดในโค้ดหลังไฟล์ Global.asax.cs) ไม่เห็นโดยคอมไพลเลอร์ในไฟล์ Global.asax (ไม่แสดงใน R # intellisence .. ) สิ่งนี้กลายเป็นถั่วที่ยากมากที่จะแตก ... ความช่วยเหลือใด ๆ จะได้รับการชื่นชม!

หมายเหตุ: Global.asax และ Global.asax.cs อยู่ในโฟลเดอร์เดียวกัน

Note2: เมื่อคอมไพล์จาก vs prompt ด้วย csc คอมไพล์ ok


หน้าอื่น ๆ ในแอปใช้งานได้หรือไม่ บางครั้งสิ่งนี้เกิดขึ้นเมื่อเว็บเซิร์ฟเวอร์ได้รับการกำหนดค่าให้ทำงาน 1.1 แต่แอปนี้รวบรวมไว้สำหรับ 2.0
Noon Silk

ใช่ 'Target Framework' คือ 2.0
gkdm

คำตอบ:


162

สถานการณ์หนึ่งที่ฉันพบซึ่งทำให้เกิดปัญหานี้คือเมื่อคุณระบุแพลตฟอร์มสำหรับการสร้างผ่าน "Build Configuration"

หากคุณระบุ x86 เป็นแพลตฟอร์มการสร้างของคุณวิชวลสตูดิโอจะกำหนด bin / x86 / Debug เป็นไดเร็กทอรีเอาต์พุตสำหรับโปรเจ็กต์นี้โดยอัตโนมัติ สิ่งนี้ใช้ได้อย่างสมบูรณ์แบบสำหรับโครงการประเภทอื่น ๆ ยกเว้นเว็บแอปพลิเคชันที่ ASP.NET คาดว่าแอสเซมบลีจะถูกส่งออกไปยังโฟลเดอร์ Bin

สิ่งที่ฉันพบในสถานการณ์ของฉันคือพวกเขากำลังถูกส่งออกไปยังทั้งสอง (Bin และ Bin / x86 / Debug) ยกเว้นว่า dll บางตัวและที่สำคัญที่สุดอย่างอธิบายไม่ได้คือ dll เว็บแอปพลิเคชันของคุณซึ่งหายไปจาก Bin โฟลเดอร์

สิ่งนี้ทำให้เกิดปัญหาในการคอมไพล์อย่างเห็นได้ชัดดังนั้นข้อยกเว้น "ไม่สามารถโหลดประเภท Global" การล้างสารละลายและการลบชุดประกอบไม่ได้สร้างความแตกต่างกับงานสร้างที่ตามมา วิธีแก้ปัญหาของฉันคือแค่เปลี่ยนเส้นทางเอาต์พุตในการตั้งค่าโปรเจ็กต์สำหรับเว็บแอปเป็น Bin (แทนที่จะเป็น bin / x86 / Debug)


13
นอกจากนี้: ลองปิดและเปิด VS ใหม่อีกครั้ง หากคุณใช้เซิร์ฟเวอร์การดีบักในตัวเซิร์ฟเวอร์อาจกำลังเรียกใช้เว็บไซต์อื่น การเปิด / ปิดจะลงทะเบียนพอร์ต localhost อีกครั้ง
BradLaney

1
ในกรณีของฉันต้องการใส่เอาต์พุตโปรเจ็กต์ใน inetpub \ wwwroot \ myproject \ bin แต่ฉันได้กำหนดค่า iisexpress ให้ดูใน myProject \ bin เพียงแค่เปลี่ยนเส้นทางเอาต์พุตก็ช่วยแก้ปัญหาได้
shindigo

ในกรณีของฉันฉันมี. dll ที่ควรรวมอยู่ด้วย แต่ไม่ได้ตั้งค่าเป็น 'คัดลอกในเครื่อง' ด้วยเหตุผลบางประการ สิ่งนี้ทำให้เกิดปัญหาการรวบรวมที่คล้ายกันกับที่ระบุไว้ในคำตอบนี้
HockeyJ

ขอบคุณ Stantona นี่คือสิ่งที่ได้ผลสำหรับฉันและทันเวลาที่ฉันจะกลับบ้าน
Bill Norman

3
การเปลี่ยนเส้นทางเอาต์พุตของโปรเจ็กต์ไปยังโฟลเดอร์ bin ช่วยแก้ปัญหาได้ ขอบคุณที่ช่วยชีวิตฉัน!
Tunahan

18

คุณเปลี่ยนเนมสเปซของโปรเจ็กต์แล้วหรือยัง? ฉันเคยเห็นสิ่งนี้เกิดขึ้นเป็นครั้งคราวซึ่งฉันได้เปลี่ยนเนมสเปซในกล่องโต้ตอบคุณสมบัติโครงการ แต่ Visual Studio ไม่ได้เปลี่ยนการnamespaceประกาศในไฟล์โค้ดที่มีอยู่


คุณคิดว่าฉันควรทำอย่างไร?
gkdm

1
ตรวจสอบเนมสเปซในไฟล์. cs ของคุณและตรวจสอบให้แน่ใจว่าเป็นชื่อเดียวกันกับที่ประกาศในไฟล์ asax ความสงสัยของฉันคือมันจะแตกต่างออกไป ...
PhilPursglove

ฉันไม่แน่ใจแล้ว สิ่งที่ฉันแนะนำได้ในตอนนี้คือการสร้างใหม่และตรวจสอบเนื้อหาของเนมสเปซในแอสเซมบลีของคุณด้วย ILDASM
PhilPursglove

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

ฉันเพิ่งเกิดสิ่งนี้ขึ้น: ในโครงการ MVC 5 (ไม่ใช่เรื่องสำคัญ) และฉันเปลี่ยนเนมสเปซโครงการ แต่ลืมเปลี่ยน Global.asax (และโฟลเดอร์ App_Start) โดยไม่คำนึงถึงประสบการณ์บางครั้งการกำกับดูแลโง่ ๆ ก็ยังทำให้คุณได้รับ
Jason Snelders

15

ฉันยังใหม่กับการพัฒนา asp. net และฉันประสบปัญหาที่คล้ายกัน

ฉันอัปเดตชั้นเรียนเป็นpartialชั้นเรียนและทำงานได้ดี

public partial class Global : System.Web.HttpApplication

1
ไม่แน่ใจว่าเหตุใดไฟล์ Global ของฉันจึงจบลงโดยไม่มีสิ่งนี้ แต่นี่เป็นปัญหาสำหรับฉันขอบคุณ!
ginja


5

นี่เป็นอีกหนึ่งเล่มสำหรับหนังสือ ดูเหมือนว่าสิ่งนี้จะเกิดขึ้นเมื่อคุณเปิดเว็บแอปพลิเคชันมากกว่าหนึ่งรายการจากหมายเลขพอร์ตเดียวกัน

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

เพียงแค่เลือกพอร์ตที่ไม่ได้รับผลกระทบที่สามปัญหานี้ก็หายไปเพราะมันแมปพอร์ตกับการแม็พไดเร็กทอรีใหม่ (สาขาของฉันอยู่ต่างกันบนดิสก์) ฉันสังเกตเห็นสิ่งนี้เนื่องจากฉันพยายามเปลี่ยนชื่อประเภทที่ชี้ไปGlobal.asaxแต่ชื่อประเภทไม่เปลี่ยนแปลงแม้ว่าจะรีสตาร์ทเซิร์ฟเวอร์ก็ตามดังนั้นรหัสที่ฉันกำลังเปลี่ยนไม่ได้สะท้อนให้เห็นจากการปรับใช้ IIS Express

ดังนั้นก่อนที่คุณจะนอนไม่หลับมากเกินไปให้ลองเปลี่ยนหมายเลขพอร์ต IIS ที่ใช้ในการเรียกใช้โครงการเว็บในปัจจุบัน


5
  1. คลิกขวาที่ Project Solution และเลือก Batch Build
  2. จากนั้นเลือกชื่อโครงการของคุณและทำความสะอาดและสร้างใหม่

ใช้งานได้ดีสำหรับฉันใน VS 2015 ตอนนี้ฉันสามารถใช้ Global event ได้แล้ว Global.asaxไฟล์ของฉันมีบรรทัดนี้

<%@ Application Language="C#" CodeBehind="~/App_Code/Global.asax.cs" Inherits="Global" %>

และฉันสร้างไฟล์คลาสGlobal.asax.csที่อยู่ในAppCodeโฟลเดอร์ที่ดูเหมือน

public partial class Global : HttpApplication
{
    public Global()
    {
        //
        // TODO: Add constructor logic here
        //
    }
}

ฉันหวังว่านี่จะช่วยได้


3

ตรวจสอบ Build Action ของ Global.asax.cs ควรตั้งค่าเป็น Compile

ใน Solution Explorer ให้คลิกขวาที่ Global.asax.cs และไปที่ Properties ในบานหน้าต่างคุณสมบัติตั้งค่า Build Action (ในขณะที่ไม่ได้ดีบัก)

ดูเหมือนว่า VS 2008 ไม่ได้เพิ่มไฟล์. asax (.cs) อย่างถูกต้องตามค่าเริ่มต้นเสมอไป


3

ฉันพบข้อผิดพลาดที่คล้ายกันเมื่อมีไฟล์

<clear/>

แท็กเป็นลูก (ลูกคนแรก) ของ

<assemblies>

แท็กของฉันในWeb.config ฉันได้แทรกแท็กใน web.config ของฉันด้วยความพยายามที่จะป้องกันการสืบทอดการกำหนดค่าในแอปพลิเคชันที่ปรับใช้ภายใต้ 'เว็บไซต์เริ่มต้น' ใน IIS


สิ่งนี้ชี้ให้ฉันไปในทิศทางที่ถูกต้อง ในที่สุดฉันใส่ <clear /> ในไดเร็กทอรีหลักเนื่องจากเป็นตัวยึดว่าง ฉันเชื่อว่าปัญหาที่แท้จริงคือการล้างแอสเซมบลีแอปพลิเคชันของฉันที่อ้างถึงซึ่งทำให้แอสเซมบลีแอปพลิเคชันไม่สามารถโหลดได้
Doug Lampe

ฉันก็ประสบสิ่งนี้เช่นกัน - การลบชุดประกอบที่เลือกอย่างชัดเจนแทนที่จะล้างรายการออกไปได้ดี
Arve Systad

2

ในสถานการณ์ของฉันมันเกี่ยวข้องกับประเภทเว็บไซต์ / เว็บแอปพลิเคชันของโครงการ เราเพิ่งย้ายไปที่ MVC และต้องเปลี่ยนเป็น Web Application

ดังนั้นวิธีแก้ปัญหาก็ง่ายมาก: เลือกเว็บไซต์ของคุณใน Solution Explorer และลบออกจากโซลูชันจากนั้นคลิกขวาที่โซลูชันแล้วเลือกเพิ่ม -> โครงการที่มีอยู่ ( ไม่ใช่เว็บไซต์ ) จากนั้นคอมไพล์เว็บไซต์ใหม่


2

โพสต์เก่า แต่ฉันพบข้อผิดพลาดนี้เมื่อพยายามแปลงจากโครงการเว็บไซต์เป็นโครงการเว็บแอปพลิเคชัน

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


2

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

TL; DR: ในคุณสมบัติโครงการในแท็บเว็บภายใต้เซิร์ฟเวอร์เลือกใช้ Local IIS Web Server ที่อยู่,

http://localhost/MyApp" 

ได้รับการเติมข้อมูลแล้ว (ฉันมี IIS7, .NET 4.0) สิ่งที่เลือกไว้ในตอนแรกคือ "Use Visual Studio Development Server" ที่มีเส้นทางเสมือนเป็น "/"

สิ่งที่ทำให้ฉันงงงวยจริงๆคือความจริงที่ว่าไม่มีอะไรได้ผลฉันได้ทำตามคำแนะนำทั้งหมดที่ฉันพบใน SO และไม่มีอะไรจะได้ผล สิ่งที่แปลกคือข้อผิดพลาดคือ (ดูเหมือนจะเป็นเวลาไม่กี่เดือนแล้วที่ฉันดูครั้งสุดท้าย) ปรากฏให้เห็นเมื่อฉันเพิ่มไฟล์ ascx ใหม่ที่คล้ายกับไฟล์ที่มีอยู่ซึ่งเพิ่มจากโครงการ. net 2.0 (ฉันคิดว่า) เก่า ที่อนุญาตให้มีการจัดการผู้ใช้แบบกำหนดเองจากภายในแอปพลิเคชัน มันใช้งานได้สวยงามเป็นเวลานานจนกระทั่งฉันลองเพิ่มไฟล์ใหม่นี้ หลังจากเพิ่มแล้วและเห็นข้อผิดพลาดฉันเปลี่ยนกลับการเปลี่ยนแปลงทั้งหมดทันที แต่ข้อผิดพลาด Global.ascx จะไม่หายไปแม้จะทำให้โครงการทั้งหมดหายไปและรับข้อมูลล่าสุดจากการควบคุมแหล่งที่มาอีกครั้ง


2

ฉันได้แปลงโซลูชันจาก VS2003 เป็น VS2010 แล้วและมีปัญหาในการแปลงโครงการเว็บแอปพลิเคชัน

ฉันประสบปัญหาเดียวกันและไม่มีคำตอบใดที่เหมาะกับฉัน

สิ่งที่ได้ผลสำหรับฉันคือ:

  • คลิกขวาที่โซลูชันและเลือก Configuration Manager
  • ดูการกำหนดค่าแต่ละรายการในรายการแบบเลื่อนลง 'Active solution configuration'
  • รวมเว็บแอปพลิเคชันไว้ในบิลด์โดยทำเครื่องหมายที่ช่อง 'สร้าง'

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

หวังว่าคำตอบนี้จะช่วยใครก็ตามที่มีปัญหาเดียวกัน ...


1

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



1

ฉันมีปัญหาที่คล้ายกันซึ่งฉันได้รับข้อผิดพลาดนี้ในโครงการ

Could not load type [Namespace].Global
Error in Line 1   etc etc

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

ฉันไม่รู้ว่าเหตุใด Visual Studio จึงไม่ให้ข้อผิดพลาดนั้นแก่ฉันในเวลาดีบัก แต่ข้อผิดพลาดนี้อาจเกิดขึ้นเนื่องจากข้อผิดพลาดบางอย่างในไฟล์คลาส ..


1

งานนี้สำหรับฉัน: สิ่งแรก: ดูเหมือนว่าไม่ว่าคุณจะพูดอะไรกับวิชวลสตูดิโอไอเดียมักจะมองไฟล์ใน: bin (สำหรับเว็บแอปและนอกหลักสูตรในกรณีของฉัน) ดังนั้นแม้ว่าฉันจะพูดกับสตูดิโอวิชวล เส้นทางเฉพาะในการโหลดไฟล์อุดมคติมองหาเส้นทางที่ไม่ถูกต้อง ดังนั้นฉันจึงเปลี่ยนใน: Build / Configuration Manager ประเภทเอาต์พุตเป็น: Release (ก่อนหน้านี้ฉันล้างโซลูชันแม้ด้วยตนเอง) ดังนั้นเมื่อไฟล์. dll ถูกสร้างขึ้นฉันจึงย้ายด้วยตนเองไปยังโฟลเดอร์ "bin" ภายใต้โครงการ / โซลูชัน โฟลเดอร์ หวังว่านี่จะเป็นประโยชน์ !!


1

ในกรณีของฉันมันเป็นเพราะโปรเซสเซอร์เป้าหมายของฉัน (x64) ฉันเปลี่ยนเป็น x86 ล้างโปรเจ็กต์รีสตาร์ท VS (2012) และสร้างโปรเจ็กต์ใหม่ แล้วมันก็หายไป


1

เมื่อฉันพบปัญหานี้ล่าสุดฉันลองทุกอย่างที่กล่าวถึงที่นี่ แต่ก็ไม่เกิดประโยชน์ หลังจากฉีกผมออกฉันตัดสินใจลองลบฐานรหัสทั้งหมดของฉัน(ใช่หมดหวังแล้ว!) จากนั้นดาวน์โหลดทุกอย่างจากที่เก็บรหัสของฉันใหม่ หลังจากทำสิ่งนี้ทุกอย่างก็ทำงานได้ดีอีกครั้ง

ดูเหมือนจะเป็นวิธีแก้ปัญหาที่รุนแรง แต่เพียงแค่คิดว่าฉันจะรวมไว้ที่นี่เนื่องจากยังไม่ได้กล่าวถึงมาก่อนในหัวข้อนี้

(โปรดทราบว่าอีกครั้งหนึ่งที่ฉันพบปัญหานี้คือเมื่อ Global.asax ได้รับการสืบทอดจากส่วนประกอบที่จำเป็นต้องลงทะเบียนบนเครื่องโฮสต์สิ่งนี้หายไปดังนั้นฉันจึงได้รับปัญหาเดียวกันนี้)

TL; DR; หากคำตอบทั้งหมดในชุดข้อความนี้ไม่ได้ผลให้ลองลบแล้วดาวน์โหลดฐานรหัสทั้งหมดของคุณใหม่!


1

ฉันพบปัญหานี้สองสามครั้งและในแต่ละกรณีฉันกำลังสร้างคอมพิวเตอร์ใหม่หรือเปลี่ยนไปใช้คอมพิวเตอร์เครื่องใหม่ ขั้นตอนแรกของฉัน (นอกเหนือจากการอัปเดตเครื่องและการติดตั้ง Visual Studio) คือการดึงโปรเจ็กต์ของฉันออกจาก Git และทดสอบ

ฉันพบข้อผิดพลาดนี้ทุกครั้งเนื่องจากพยายามเข้าถึงรหัสในเครื่องก่อนที่จะรวบรวม คุณจะเห็นว่าฉันมีการตั้งค่า Git และ Subversion เพื่อละเว้นโฟลเดอร์ bin / build ของฉันดังนั้นหลังจากดึงจากที่เก็บของฉันฉันลืมเรียกใช้งานบิลด์ที่ดึงแพ็คเกจที่ต้องการจาก Nuget (เนื่องจากฉันมี Git / SVN ละเว้นสิ่งเหล่านั้นด้วย) และสร้าง DLL ที่จำเป็นในการเรียกใช้แอปของฉันจริงๆ

ฉันสงสัยว่าสิ่งนี้จะช่วยแก้ปัญหาของคนส่วนใหญ่ได้ แต่ฉันไม่เห็นมันอยู่ในรายการวิธีแก้ปัญหาที่เป็นไปได้ดังนั้นฉันจึงคิดว่าจะเพิ่มเข้าไป


1

ในกรณีของฉันฉันได้เพิ่ม Global.asax ลงในโครงการ WCF เพื่อทดลองใช้ แต่ตัดสินใจที่จะลบออก ฉันลบมันออกจาก Solution Explorer แต่เนื่องจากมันยังอยู่ในโฟลเดอร์ไปป์ไลน์ก็ยังคงค้นหามันและทำให้เกิดข้อผิดพลาดนี้

ฉันลบ Global.ASAX และ GLobal.asax.cs ออกจากระบบไฟล์และนั่นช่วยแก้ไขข้อผิดพลาดได้


สิ่งนี้แก้ไขให้ฉันได้ขอบคุณ แต่ฉันก็อยากจะเพิ่มสำหรับคนอื่น ๆ ในอนาคตว่าในกรณีของฉันฉันไม่เคยเพิ่ม Global.asax ในโครงการของฉัน แต่ตามที่กล่าวไว้ที่นี่ไฟล์ global.asax และ global.asax.cs อยู่ในระบบไฟล์ของฉัน เมื่อฉันลบมันข้อบกพร่องก็หายไป
stackonfire

1

หลังจากอยู่ในเกมการพัฒนามาเกือบ 20 ปีเกาลัดนี้ยังคงสร้างความเสียหายให้กับฉันในหลายโครงการ

ด้วยเหตุนี้ในวันนี้ในขณะที่ประสบปัญหาเดียวกันนี้อีกครั้งกับโครงการอื่นฉันตัดสินใจที่จะตรวจสอบเพิ่มเติมและฉันเชื่อว่าสิ่งนี้เกี่ยวข้องกับตำแหน่งโฟลเดอร์ Bin ... หรือโดยเฉพาะอย่างยิ่งเส้นทางเอาต์พุตของโฟลเดอร์ bin

สำหรับฉันสำหรับเว็บแอปพลิเคชันที่ใช้บริการอย่างง่ายที่กำหนดค่าให้รัน / ดีบักผ่าน IIS มันกำลังเปลี่ยนเส้นทางเอาต์พุตจากbin \ debugเป็นbin \ที่แก้ไขได้

โครงการ> คุณสมบัติ> สร้าง> เส้นทางเอาต์พุต

หวังเป็นอย่างยิ่งว่าสิ่งนี้จะช่วยได้


0

ฉันรู้สึกสับสนกับปัญหายี้เดียวกัน ฉันพยายามลบและglobal.asax(ปิด VS2010 ก่อนเพิ่ม) ทำความสะอาดโปรเจ็กต์ / โซลูชันตรวจสอบการเปลี่ยนแปลงใด ๆ ในการกำหนดค่าเว็บแอปพลิเคชันและสิ่งอื่น ๆ ที่ได้ผลสำหรับคนอื่น ๆ ที่นี่ในเธรด SO ในที่สุดฉันก็ทำความสะอาดโซลูชันลบโฟลเดอร์ bin / obj และหยุดเซิร์ฟเวอร์การพัฒนา VS2010 ใด ๆ ที่กำลังทำงานอยู่จากนั้นฉันก็เปลี่ยนการเปลี่ยนแปลงทั้งหมดกลับมาและพบว่าแอปพลิเคชันกำลังทำงานอีกครั้ง ฉันเปลี่ยนสิ่งเดิม ๆ ใหม่และตอนนี้มันใช้งานได้ดี

เกิดขึ้นอีกครั้งและคราวนี้วิธีนี้ใช้ได้ผลสำหรับฉัน


0

ไปที่ configuration Manager ภายใต้คุณสมบัติสำหรับโซลูชันของคุณ จากนั้นตรวจสอบให้แน่ใจว่าโครงการทั้งหมดและการสร้างจะไม่มีปัญหา


0

ฉันต้องลบไฟล์ (ซ้ำ) จากดิสก์ที่ไม่รวมอยู่ในโปรเจ็กต์ ดูเหมือนว่ารายการที่ซ้ำกันเกิดจากการเปลี่ยนชื่อที่ล้มเหลว ชื่อไฟล์ต่างกัน แต่รหัสเดียวกัน

หลังจากลบไฟล์ oof. * ทั้งหมดแล้วฉันสามารถสแกนได้

  • foo.aspx
  • foo.aspx.cs
  • foo.aspx.designer.cs
  • oof.aspx
  • oof.aspx.cs
  • oof.aspx.designer.cs

0

ในกรณีของฉันมันคือ IISExpress ที่ชี้ไปที่พอร์ตเดียวกับ IIS เพื่อแก้ปัญหานั้นไป

C:\Users\Your-User-Name\Documents\IISExpress\config\applicationhost.config

และค้นหาพอร์ตคุณจะพบ<site>...</site>แท็กที่คุณต้องการลบหรือแสดงความคิดเห็น


0

ฉันมีปัญหานี้เมื่อปรับใช้บนเซิร์ฟเวอร์ prod เท่านั้น ในสภาพแวดล้อมอื่น ๆ ของฉันมันใช้งานได้ ... ฉันเพิ่งลบข้อมูลในโฟลเดอร์ bin จากนั้นเผยแพร่ใหม่และใช้งานได้หลังจากนั้น


0

หากคุณใช้ Visual Studio คุณอาจกำลังพยายามเรียกใช้แอปพลิเคชันในโหมดเผยแพร่ให้ลองเปลี่ยนเป็นโหมดดีบัก


0

ฉันพยายามสร้างโซลูชันใหม่และล้างไฟล์ ASP.NET ชั่วคราวโดยไม่ประสบความสำเร็จ
แต่หลังจากรันIISRESETข้อผิดพลาดก็หายไป

อัปเดต : ฉันมีปัญหาเดิมอีกครั้งใน 1 เดือนต่อมา ฉันสังเกตเห็นว่า MyWebsite.DLL มีอยู่ในโฟลเดอร์ bin แต่ไม่มีอยู่ในไฟล์ ASP.NET ชั่วคราว (C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files) ฉันได้ลองทำบางสิ่งที่แนะนำในเรื่องนี้และ"Parser Error Message: can't load type" ในคำถามGlobal.asax (จริง ๆ แล้วฉันลืมคำตอบของตัวเอง) แต่ข้อผิดพลาดจะหายไปอีกครั้งหลังจากIISRESETเท่านั้น


0

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


2
โซลูชัน "น้ำหนักเบา" คืออะไร?
Fandango68

0

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

ปรากฎว่าไฟล์ "AssemblyInfo.cs" ที่สร้างขึ้นโดยอัตโนมัติมีช่องว่างที่ไม่เกี่ยวข้องซึ่งทำให้ฉันไม่สามารถเปิดแอปพลิเคชันเว็บ (ผ่านการดีบัก) นี่คือลักษณะของไฟล์:

[assembly: AssemblyTitle("WebApplication2")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("

            ")]
[assembly: AssemblyProduct("WebApplication2")]
[assembly: AssemblyCopyright("Copyright © 

             2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

หลังจากฆ่าช่องว่างใน AssemblyCompany และ AssemblyCopyright ในที่สุดฉันก็สามารถสร้างและเปิดตัวโครงการได้

สังเกตได้ในสภาพแวดล้อมต่อไปนี้: --Visual Studio 2017 Community เวอร์ชัน 15.3.0 --Win 7 x64 Enterprise - โครงการใหม่> Visual C #> เว็บ> ASP.NET Web Application> แบบฟอร์มเว็บ

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