"[이름 공간] 유형을 로드할 수 없습니다.글로벌"이 나를 슬프게 합니다.
.Net 2.0 Asp.net WebForms 앱에는 다음 코드가 포함된 Global.asax가 있습니다.
<%@ Application CodeBehind="Global.asax.cs" Inherits="MyNamespace.Global" Language="C#" %>
하지만 빌드할 때 다음과 같은 오류가 발생하는 오류는 다음과 같습니다.
'MyNamespace' 유형을 로드할 수 없습니다.전역'.
이는 MyNamespace 네임스페이스(Global.asax.cs 파일 뒤의 코드에 정의됨)가 컴파일러에서 Global.asax 파일(R# intellence에 표시되지 않음)에 표시되지 않기 때문인 것 같습니다.이 문제는 해결하기 매우 어려운 문제로 밝혀졌습니다.어떤 도움이든 감사하겠습니다!
참고: Global.asax와 Global.asax.cs 는 동일한 폴더에 있습니다.
참고 2: csc를 사용하여 vs 프롬프트에서 컴파일할 때는 ok를 컴파일합니다.
이 문제를 일으킨 한 가지 상황은 "빌드 구성"을 통해 빌드에 대한 플랫폼을 지정하는 경우입니다.
x86을 빌드 플랫폼으로 지정하면 Visual Studio는 자동으로 bin/x86/Debug를 이 프로젝트의 출력 디렉터리로 할당합니다.이것은 ASP가 있는 웹 응용 프로그램을 제외한 다른 프로젝트 유형에 대해 완벽하게 유효합니다.NET은 어셈블리가 Bin 폴더로 출력될 것으로 예상합니다.
제 상황에서 발견한 것은 dll의 일부와 설명할 수 없이 가장 중요한 것이 당신의 웹 애플리케이션 dll이 Bin 폴더에서 누락된 것을 제외하고 둘 다(Bin과 Bin/x86/Debug) 출력되고 있다는 것입니다.
이로 인해 분명히 컴파일 문제가 발생하여 "Could not load type Global" 예외가 발생했습니다.솔루션을 청소하고 어셈블리를 삭제해도 이후 빌드에는 아무런 차이가 없습니다.제 해결책은 웹 앱의 프로젝트 설정에서 출력 경로를 bin/x86/debug가 아닌 Bin으로 변경하는 것이었습니다.
프로젝트의 네임스페이스를 변경했습니까?가 변경하지 않은 이 경우 Visual Studio는 Visual Studio를 하지 않았습니다.namespace
기존 코드 파일의 선언입니다.
저는 asp.net 개발에 처음이며 비슷한 문제에 직면했습니다.
나는 수업을 a로 업데이트했습니다.partial
수업은 잘 진행되었습니다.
public partial class Global : System.Web.HttpApplication
Visual Studio를 다시 시작했는데 오류가 사라졌습니다!
여기 책들을 위한 또 다른 것이 있습니다.이 문제는 동일한 포트 번호에서 둘 이상의 웹 응용 프로그램을 시작할 때 발생하는 것으로 나타납니다.
기본적으로, 저는 제가 일하는 몇 개의 지점이 있습니다. 저는 주요 지점과 준비 지점 그리고 해제 지점이 있습니다.분기를 스테이징 분기로 전환했을 때 동일한 포트 주소 구성을 사용하고 있다는 것을 알게 되어 변경하기로 결정했습니다.그런 다음 이 예약이 구성된 다른 응용 프로그램과 충돌한다는 또 다른 경고를 받았습니다.IIS Express 서버는 어떤 이유로 인해 구성을 방해하는지에 대해 민감합니다.
영향을 받지 않는 세 번째 포트를 선택하기만 하면 해당 포트가 새 디렉토리 매핑에 매핑되기 때문에 이 문제가 해결되었습니다(내 분기는 디스크에 다르게 위치함).다음이 가리키는 형식 이름을 변경하려고 했기 때문에 이를 알게 되었습니다.Global.asax
그러나 서버를 다시 시작한 후에도 형식 이름이 변경되지 않았기 때문에 IIS Express 배포에 변경하려는 코드가 반영되지 않은 것이 분명합니다.
따라서 이 문제로 너무 많은 수면을 취하기 전에 웹 프로젝트를 실행하는 데 현재 사용되는 IIS 포트 번호를 변경해 보십시오.
- Project Solution을 마우스 오른쪽 버튼으로 클릭하고 Batch Build를 선택합니다.
- 그런 다음 프로젝트 이름을 선택하고 치료 및 재구성을 선택합니다.
2015년 VS 나에게 잘 작동합니다.이제 글로벌 이벤트를 사용할 수 있습니다.나의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
//
}
}
이것이 도움이 되기를 바랍니다.
Global.asax.cs 의 빌드 작업을 확인합니다.컴파일로 설정해야 합니다.
솔루션 탐색기에서 Global.asax.cs 을 마우스 오른쪽 버튼으로 클릭하고 속성으로 이동합니다.속성 창에서 빌드 작업을 설정합니다(디버깅하지 않음).
VS 2008은 기본적으로 .asax(.cs) 파일을 항상 올바르게 추가하지 않는 것 같습니다.
유사한 오류를 경험했습니다.
<clear/>
의 자식(첫째 아이)으로 꼬리표를 달다
<assemblies>
태그를 지정합니다.IIS의 '기본 웹 사이트'에 배포된 응용 프로그램에서 구성 상속을 방지하기 위해 web.config에 태그를 삽입했습니다.
제 상황에서는 프로젝트의 웹 사이트/웹 응용 프로그램 유형과 관련이 있었습니다.우리는 최근에 MVC로 이사를 가서 웹 애플리케이션으로 변경해야 했습니다.
솔루션은 간단했습니다. 솔루션 탐색기에서 웹 사이트를 선택하고 솔루션에서 제거한 다음 솔루션을 마우스 오른쪽 버튼으로 클릭하고 추가 -> 기존 프로젝트(웹 사이트 아님)를 선택하여 웹 사이트를 다시 컴파일합니다.
이전 게시물이지만 웹 사이트 프로젝트에서 웹 응용 프로그램 프로젝트로 변환할 때 이 오류가 발생합니다.
이 링크의 지침을 따르십시오.아직 global.asax 오류가 발생했지만 visual studio에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 새 항목 추가를 선택하여 삭제하고 다시 추가한 것이 전부입니다.global.asax 파일을 추가하면 작동합니다.
불행하게도, 이것들 중 어느 것도 저에게 효과가 없었습니다.제가 발견한 수정 사항은 개발, 특히 로컬 컴퓨터에서의 디버깅에 더 구체적이었습니다.또한 불행하게도, 제가 기대했던 방식으로 문제를 해결하지는 못했지만, 만약 여러분이 어찌할 바를 모른다면, 이것은 여러분을 다시 운영하게 할 수도 있습니다.
TL;DR: 프로젝트 속성의 웹 탭에 있는 서버에서 로컬 IIS 웹 서버 사용을 선택합니다.주소,
http://localhost/MyApp"
이미 채워졌습니다(IIS7, .NET 4.0 사용).원래 선택된 것은 가상 경로가 "/"인 "Visual Studio Development Server 사용"이었습니다.
저를 정말 곤혹스럽게 하는 것은 다른 어떤 것도 효과가 없었다는 사실입니다. 저는 SO에서 찾을 수 있는 모든 제안을 검토했고, 아무것도 효과가 없었습니다.이상한 것은 애플리케이션 내에서 사용자 지정 관리가 가능한 기존 .net 2.0 프로젝트에서 추가된 것과 유사한 새 asx 파일을 추가했을 때 오류가 발생했다는 것입니다.제가 이 새로운 파일을 추가하기 전까지는, 아주 오랫동안 작동했습니다.추가하고 오류를 확인한 후 즉시 모든 변경 사항을 되돌렸지만 Global.ascx 오류는 사라지지 않았고 프로젝트 전체를 날려버리고 소스 제어에서 최신 정보를 다시 얻을 수도 없었습니다.
솔루션을 VS2003에서 VS2010으로 전환했는데 웹 애플리케이션 프로젝트를 변환하는 데 문제가 있었습니다.
저는 똑같은 문제를 경험했고 어떤 대답도 저에게 효과가 없었습니다.
저에게 효과가 있었던 것은 다음과 같습니다.
- 솔루션을 마우스 오른쪽 버튼으로 클릭하고 구성 관리자를 선택합니다.
- '액티브 솔루션 구성' 드롭다운 목록에서 각 구성을 살펴봤습니다.
- 빌드' 확인란을 선택하여 빌드에 웹 응용 프로그램을 포함했습니다.
변환하는 동안 제가 겪었던 문제들이 어떤 이유로 인해 웹 애플리케이션 프로젝트를 빌드에서 제거한 것처럼 보입니다.
이 대답이 같은 문제를 가진 다른 사람들에게 도움이 되길 바랍니다.
프로젝트를 재구성하거나 변경하고 이전 프로젝트에서 파일을 이동하는 경우 글로벌의 상속 블록을 선택해야 합니다.제 경우, 이전 프로젝트/솔루션의 이름이 인트라넷이었고 인트라넷으로 다시 작성했지만, 파일을 옮겨보니 소문자(dh)가 마음에 들지 않았습니다.파일 이름을 일반적으로 확인하십시오.
어셈블리의 GUID를 변경합니다.이것은 많은 문제를 해결해 줍니다.
프로젝트에서 이 오류가 발생했을 때도 비슷한 문제가 있었습니다.
“Could not load type [Namespace].Global
Error in Line 1 etc etc
잠시 시간을 보낸 후 클래스에서 발생할 수 있는 오류가 있는 함수가 의심됩니다. 나중에 특정 함수에 대해 설명하면 문제가 해결됩니다.
Visual Studio가 디버깅할 때 특정 오류를 표시하지 않은 이유를 모르겠습니다.그러나 클래스 파일의 일부 오류로 인해 이 오류가 발생할 수 있습니다.
이 작업은 저를 위한 것입니다. 첫 번째는 시각적 스튜디오에 어떤 말을 했든 간에 아이디어는 항상 파일을 찾는 것처럼 보입니다. bin(웹 앱의 경우와 제 경우는 코스 외)에서 파일을 로드하기 위한 특정 경로를 비주얼 스튜디오에 말했을 때도 아이디어는 계속 잘못된 경로를 찾습니다.그래서 나는: 빌드/구성 관리자에서 출력 유형을: 릴리스(이전에는 수동으로도 솔루션을 정리함)로 변경했습니다. 그래서 .dll 파일이 생성되었을 때 수동으로 프로젝트/솔루션 폴더 아래의 "bin" 폴더로 이동했습니다.이것이 도움이 되기를 바랍니다!!
저의 경우, 대상 프로세서(x64) 때문에 x86으로 변경하여 프로젝트를 정리하고 VS(2012)를 다시 시작한 후 프로젝트를 재구축했습니다. 그러면 해당 프로세서는 사라졌습니다.
제가 가장 최근에 이 문제에 직면했을 때, 저는 여기서 언급된 모든 것을 시도했지만 소용이 없었습니다.머리를 쥐어뜯은 후에 저는 제 전체 코드 베이스를 삭제하기로 결정했습니다(네, 꽤 필사적입니다!). 그리고 나서 제 코드 저장소에서 모든 것을 다시 다운로드했습니다.이것을 한 후에 모든 것이 다시 잘 작동했습니다.
극단적인 해결책인 것처럼 보이지만, 이 스레드에서 이전에 언급되지 않았기 때문에 여기에 포함하려고 생각했습니다.
(이 문제가 발생한 적은 Global.asax가 호스트 시스템에 등록해야 하는 구성 요소에서 상속할 때입니다.이것이 누락되어 동일한 문제가 발생했습니다).
TL;DR; 이 스레드의 모든 응답이 사용자에게 적합하지 않으면 전체 코드 베이스를 삭제한 다음 다시 다운로드하십시오!
저는 이 문제를 몇 번 경험했는데, 각각의 경우 컴퓨터를 다시 빌드하거나 새 컴퓨터로 전환했습니다.첫 번째 단계(기계 업데이트 및 Visual Studio 설치 외)는 Git에서 프로젝트를 끌어내려 테스트하는 것입니다.
컴파일하기 전에 로컬 코드에 액세스하려고 시도했기 때문에 매번 이 오류가 발생했습니다.Bin/build 폴더를 무시하도록 Git 및 Subversion을 설정했기 때문에 저장소에서 끌어다 놓은 후 Nuget에서 필요한 패키지를 가져와서(Git/SVN에서 이러한 패키지도 무시하므로) 실제로 앱을 실행하는 데 필요한 DLL을 만드는 빌드를 실행하는 것을 잊었습니다.
이것이 대부분의 사람들의 문제를 해결할 수 있을지 의문이지만, 저는 잠재적인 해결책 목록에서 보지 못했기 때문에 추가하려고 생각했습니다.
저의 경우 실험을 위해 WCF 프로젝트에 Global.asax를 추가했지만 제거하기로 결정했습니다.솔루션 탐색기에서 제거했지만 여전히 폴더에 있기 때문에 파이프라인에서 여전히 이 오류를 발견하고 있습니다.
글로벌을 제거했습니다.파일 시스템의 ASAX 및 GLobal.asax.cs 에서 오류를 해결했습니다.
거의 20년 동안 개발 게임에 종사하면서, 이 밤나무는 여러 프로젝트에 걸쳐 저를 계속 괴롭혔습니다.
이와 같이, 오늘 같은 문제를 다시 겪으면서 다른 프로젝트에 대해 더 조사하기로 결정했고, 이것이 Bin 폴더 위치와 관련이 있다고 생각합니다...또는 보다 구체적으로 bin 폴더의 출력 경로입니다.
IIS를 통해 실행/디버깅하도록 구성된 간단한 서비스 기반 웹 애플리케이션의 경우 출력 경로를 bin\debug에서 bin\으로 변경하여 이를 해결했습니다.
프로젝트 > 속성 > 빌드 > 출력 경로
이게 도움이 되길 진심으로 바랍니다.
나는 같은 빌어먹을 문제로 혼란스러웠습니다. 제가제시그리고고도했거를그리▁to▁i▁and▁tried.global.asax
(추가하기 전에 VS2010을 닫음).프로젝트/솔루션을 정리하고, 웹 애플리케이션 구성의 변경 사항 및 여기 SO 스레드에서 다른 사용자를 위해 작동했던 기타 사항을 확인했습니다.마지막으로 솔루션을 정리하고, bin/obj 폴더를 삭제하고, 실행 중인 VS2010 개발 서버를 모두 중지한 후 모든 변경 사항을 되돌려서 애플리케이션이 다시 실행되고 있음을 알게 되었습니다.저는 같은 일을 다시 했고 지금은 잘 작동합니다.
다시 발생했고 이번에는 이 해결책이 저에게 효과가 있었습니다.
솔루션의 속성 아래에 있는 구성 관리자로 이동합니다.그런 다음 모든 프로젝트와 구축을 확인하십시오. 그러면 문제가 되지 않을 것입니다.
프로젝트에 포함되지 않은 파일을 디스크에서 삭제(복제)해야 했습니다.이름 변경 실패로 인해 중복이 발생한 것 같습니다.파일 이름은 다르지만 코드는 같습니다.
모든 oof를 삭제한 후.파일을 검색할 수 있었습니다.
- foo.aspx
- foo.aspx.cs
- foo.aspx.designer.cs
- oof.aspx
- oof.aspx.cs
- oof.aspx.designer.cs
제 경우에는 IIS Express가 IIS와 동일한 포트를 가리키고 있습니다.
C:\Users\Your-User-Name\Documents\IISExpress\config\applicationhost.config
그리고 포트를 검색하면, 당신은 찾을 수 있을 것입니다.<site>...</site>
할 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
prod 서버에만 배포할 때 이 문제가 발생했습니다.다른 환경에서는 작동합니다.나는 방금 bin 폴더의 내용을 삭제하고 다시 게시하면 그 이후에 작동합니다.
Visual Studio를 사용하는 경우 응용 프로그램을 릴리스 모드에서 실행하려고 할 수 있습니다. 응용 프로그램을 디버그 모드로 변경해 보십시오.
솔루션을 재구축하고 ASP를 삭제하려고 했습니다.NET 임시 파일이 성공하지 못했습니다.
그러나 IISRESET을 실행한 후 오류가 사라졌습니다.
업데이트: 한 달 후에 다시 같은 문제가 발생했습니다.제 웹사이트를 봤습니다.DLL이 bin 폴더에 있지만 Temporary ASP에는 없습니다.NET 파일(C:\Windows\Microsoft).NET\Framework64\v4.0.30319\임시 ASP.NET 파일).저는 몇 가지 시도를 했는데, 이에 대해 제안된 것들과 "파서 오류 메시지: Global.asax 질문에 "유형을 로드할 수 없습니다."(실제로 본인의 답변을 잊어버렸습니다.)가 표시되었지만 IISRESET 이후에야 오류가 다시 사라졌습니다.
제 경우 VS 2017에서는 경량 솔루션 로드가 이 문제의 원인이었습니다.사용하지 않도록 설정하고 VS를 다시 시작한 다음 솔루션을 다시 구축하면 문제가 사라집니다.
내 2센트를 더 보태고 싶었을 뿐입니다.저는 같은 오류를 받았고, 모든 제안을 시도했지만 소용이 없었습니다.내 상황이 다를 수도 있어요?
알고 보니 자동 생성된 "AssemblyInfo.cs " 파일에 불필요한 공간이 있어서 디버그를 통해 웹 앱을 시작할 수 없었습니다.파일의 모양은 다음과 같습니다.
[assembly: AssemblyTitle("WebApplication2")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("
")]
[assembly: AssemblyProduct("WebApplication2")]
[assembly: AssemblyCopyright("Copyright ©
2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
Assembly Company 및 Assembly Copyright의 공간을 없앤 후, 저는 마침내 프로젝트를 구축하고 시작할 수 있었습니다.
다음 환경에서 관찰됨: --Visual Studio 2017 Community version 15.3.0 --Win 7 x64 Enterprise --New Project > Visual C# > Web > ASP.NET 웹 애플리케이션 > 웹 양식
언급URL : https://stackoverflow.com/questions/2005747/could-not-load-type-namespace-global-causing-me-grief
'programing' 카테고리의 다른 글
이클립스에서 키보드만 사용하여 오류로 이동하는 방법은 무엇입니까? (0) | 2023.04.27 |
---|---|
iOS 7.0에서 잘못된 컨텍스트 0x0 및 시스템 성능 저하 (0) | 2023.04.27 |
Visual Studio에서 명명 규칙 위반 메시지를 제거하는 방법은 무엇입니까? (0) | 2023.04.27 |
삭제로 스와이프하고 "추가" 버튼(iOS 7의 메일 앱에서처럼) (0) | 2023.04.27 |
참조되지 않은 어셈블리에 유형이 정의되어 있습니다. 원인을 찾는 방법은 무엇입니까? (0) | 2023.04.27 |