2012-03-20 2 views
38

많은 프로젝트가 있고 그 중 하나만 가지고있는 솔루션이 있습니다. 작동하지 않는 것은 ConsoleApplication이며 C# 클래스 라이브러리 프로젝트에 의존합니다. 라이브러리 프로젝트에 대한 참조를 추가하고 올바른지 확인한 네임 스페이스를 추가했지만 라이브러리의 모든 클래스를 참조하면 얻을 수 있습니다.VisualStudio2010에서 프로젝트 참조가 작동하지 않습니다.

'MyClass'유형 또는 네임 스페이스는 찾을 수 없습니다 (using 지시문이나 어셈블리 참조가 누락 되었습니까?).

라이브러리 프로젝트가 성공적으로 구축되고 있습니다 (DLL이 bin 폴더에 있음을 볼 수 있음). 프로젝트 참조와 DLL 자체에 대한 참조를 시도했습니다. 둘 다 작동하지 않습니다.

또한 모든 프로젝트는 플랫폼 대상 '모든 CPU'로 빌드되도록 설정됩니다.

포럼에서 성공하지 못한 모든 제안을 시도했습니다. 누군가가 잘못되어 가고있는 것에 대해 밝힐 수 있습니까? 도서관이 단지 .NET Framework 4했다 반면

콘솔 응용 프로그램, .NET Framework 4 Client Profile의 대상 프레임 워크를 가지고 :

감사

문제를 해결했다. 콘솔 앱을 .NET Framework 4으로 설정하면 완벽하게 빌드됩니다.

+1

그냥 내 두 센트. C#은 대소 문자를 구분합니다. 네임 스페이스 케이스를 확인 했습니까? – Steve

+0

클래스에 공용 생성자가 있습니까? –

+0

아래의 antao의 답변을 살펴보십시오. 정기적으로 git가 프로젝트 파일을 엉망으로 만듭니다. – increddibelly

답변

83

내 좋은 방법은 라이브러리와 응용 프로그램 사용자 사이의 프레임 워크 불일치에 ... 라이브러리 앱 당신보다 우수한 버전으로 구축되지 않았거나 앱이 클라이언트 프로파일 맛 구축하는 경우 경우 확인

+0

그래, 당신은 자리에 있었고, 나는 아래에 완전한 대답을 넣어했습니다 - 팁 덕분에 Cédric – Richard

+7

모두들, 고맙습니다! :) 예, 콘솔 응용 프로그램에는 .NET Framework 4 Client Profile의 대상 프레임 워크가 있지만 라이브러리에는 .NET Framework 4 만있었습니다. 콘솔 응용 프로그램을 ".NET Framework 4"로 설정하면 모두 완벽하게 빌드됩니다. 오류의 문구가 있으므로 팁을 주셔서 감사합니다. 나는 그것이 단지 한 번만 만들고 다음 번에 기억하는 실수 중 하나라고 생각합니다. (...?) 고마워요! – Richard

+0

오, 이런, 나는 이것을 해결하려고 하루 종일 보냈지 만, 그때 당신이 있습니다 : D –

3

아마도 하나의 DLL이 콘솔 응용 프로그램에서 참조되지 않은 .net 프레임 워크의 일부를 참조합니다. 예를 들어, 클래스 라이브러리 프로젝트 중 하나에서 asp.net 서버 컨트롤이 있고 System.Web을 참조하지만 콘솔 응용 프로그램이 System.Web을 참조하지 않는 경우 빌드되지 않고 해당 오류가 발생합니다. 하지만 참조 된 DLL이 GAC에 저장되어 사용자의 bin 폴더에 나타나지 않기 때문에 명확하지 않습니다.

+0

당신 말이 맞아요 벤, 내가 아래에 완전한 대답을 추가했습니다 - 도와 주셔서 감사합니다 – Richard

+0

왜 더 이상 upvotes을 가지고 있지 않은지 궁금합니다 –

1

이상한 소리,

프로젝트 참조를 제거하고 다시 추가하려고 했습니까? 콘솔 앱에 모든 올바른 참조가 있는지 확인하십시오.

.csproj 파일을 검사하고 거기에 모든 것이 올바른지 확인할 수도 있습니다.

0

그냥 "클래스 라이브러리" 프로젝트에 클래스가 있는지 확인하거나 .edmx 모델 체크 만 포함하는 데이터 액세스 레이어 프로젝트 인 경우 모델 디자이너가 발견되어 제대로 생성되는지 확인하십시오.

행운을 빌어 요.

관련 문제