[C#] 유형 또는 네임 스페이스 이름이 존재하지 않습니다.

Visual Studio 2010으로 빌드 된 WCF 데이터 서비스 프로젝트가 있는데 제대로 작동했습니다. 갑자기 더 이상 컴파일되지 않았습니다. 그것은 나에게 다음과 같은 메시지를 주었다.

오류 7 형식 또는 네임 스페이스 이름 ‘Services’가 네임 스페이스 ‘System.Data’에 존재하지 않습니다 (조립품 참조가 누락되어 있습니까?) C : \ U … s \ Visual Studio 2010 \ Projects … \ DataService. CS …

오류 8 형식 또는 네임 스페이스 이름 ‘Linq’가 네임 스페이스 ‘System’에 존재하지 않습니다 (어셈블리 참조가 누락 되었습니까?) DependencyResolver.cs 3 14

오류 10 형식 또는 네임 스페이스 이름 ‘Web’이 네임 스페이스 ‘System.ServiceModel’에 없습니다 (조립품 참조가 누락 되었습니까?)

오류 12 형식 또는 네임 스페이스 이름 ‘DataService’를 찾을 수 없습니다 (사용 지시문 또는 어셈블리 참조가 누락 되었습니까?)

어떻게 고칠 수 있습니까?



답변

나는 같은 문제가 있었고 모든 프로젝트의 “대상 프레임 워크”를 동일하게 설정해야했다. 그런 다음 괜찮 았습니다. 프로젝트 메뉴에서 ProjectName 속성을 클릭하십시오. 컴파일 탭을 클릭하십시오. 고급 컴파일 옵션을 클릭하십시오. 대상 프레임 워크에서 원하는 프레임 워크를 선택하십시오.


답변

System.Linq 에 인식되지 않는 문제가 있습니다. using문이 등, 구불 구불 한 나는 그것이 목표 DOTNET 3.5에 내 웹 사이트를 변경하는 것이었다 해결 방법 빨간색했다, 다음 (내 경우에는 4.0) 원래 타겟 프레임 워크로 전환합니다.


답변

클래스 이름 ( MyWorld.MyWorld = Namespace.ClassName) 과 동일한 네임 스페이스 이름을 사용했기 때문에 이것이 발생했습니다 .

네임 스페이스를 클래스와 이름이 다른 이름으로 변경하면 컴파일됩니다.

출처


답변

LINQ to SQL 사용하려고 할 때 ASP.NET MVC 사이트 와 동일한 문제에 직면했습니다 . 나는 다음과 같이 문제를 해결했다.

솔루션 탐색기-> 참조-> System.Data.Linq를 마우스 오른쪽 버튼으로 클릭-> 로컬 복사 (참)


답변

대상 프레임 워크의 .NET 버전이 동일한 지 확인하십시오. 나는 같은 문제가 있었고 클래스 .NET은 3.5 였고 웹 솔루션은 4.5였습니다. 나는 그것들을 동기화 한 다음 효과가 있었다 🙂


답변

나는 같은 문제 가 있었고 성공하지 않고 위의 모든 것을 시도했지만 그것이 무엇인지 알아 냈습니다.

내 프로젝트 중 하나에 “System”이라는 폴더를 만든 다음 그 안에 클래스를 만들었습니다. 문제는 “MyProject.System”의 네임 스페이스에 있더라도 .cs 파일을 만들 때 “System”이라는 네임 스페이스를 가지고있는 것으로 보입니다.

되돌아 보면 이것이 왜 문제를 일으키는 지 이해할 수 있습니다. 오류 메시지가 처음에 문제와 관련이없는 것처럼 보이기 때문에 처음에는 정말 충격을 받았습니다.


답변

System.Data.SQLite와 동일한 문제가 발생했습니다. 문제의 원인 은 사용한 dll이 프로젝트와 동일한 .NET 버전을 가져야한다는 것입니다.

예를 들어 .NET 4.5 용 SQLite를 사용한 경우 플랫폼 대상도 .NET 4.5 여야합니다.

프로젝트> (프로젝트 이름) 속성> 빌드로 플랫폼 대상을 찾을 수 있습니다.