0

myAssembly.ddl이라는 어셈블리를 게시하는 Visual Studio 2010 프로젝트가 있습니다. 그런 다음 기존 vs 2008 프로젝트에서 myAssembly.dll을 참조하고 싶습니다. 참조를로드하려고하면 옆에 노란색 느낌표가 표시되어 어셈블리가로드되지 않았 음을 나타냅니다. 그러나 그 과정에서 어떤 오류 메시지도 나타나지 않습니다. 분명히, 내 코드에서 네임 스페이스를 가져 오려고하면 컴파일되지 않습니다.참조 된 어셈블리가로드되지 않습니다

myAssembly.dll을 .net 버전 3.5로 변환하면 도움이되지 않습니다. 어셈블리를 다른 디렉터리로 복사하고 거기에서 참조하는 것도 아닙니다.

아이디어가 있으십니까?

답변

4

Visual Studio 2008에서 솔루션을 빌드하는 데 사용하는 .NET Framework는 무엇입니까?

3.5 프레임 워크로 컴파일 한 myAssembly.dll을 사용할 수 있도록하려면 버전 3.5 여야합니다. Visual Studio 2008에서는 2.0 Framework 또는 3.0 Framework를 대상으로 할 수 있습니다.

비주얼 스튜디오 2008

프로젝트> 속성> 응용 프로그램 탭 대상 프레임 워크

+0

두 프로젝트 모두 3.5로 설정됩니다. 내가 말하는 정보가 고급 컴파일 옵션 창의 컴파일 탭에 있다고 가정합니다. – Pavel

+0

실제로 변경된 프로젝트를 체크인하는 것을 잊었습니다. 어셈블리가 올바르게 참조됩니다. – Pavel

2

에 대한 봐 나는 이것에 대한 생식을 얻을. Ildasm.exe에서 볼 수 있으며 2010 컴파일러는 메타 데이터를 v4.0.30319로 표시합니다. 또한 Corflags.exe로 볼 수도 있습니다.

경고 MSB3246 : 2008 빌드 시스템을 사용하면 출력 창에서 볼 수 있으며, 이것에 대한 경고를 생성 해결 된 파일이 나쁜 이미지, 아니 메타 데이터를 가지고, 또는 액세스 할 수없는 입니다

대상 프레임 워크를 3.5로 변경하면 문제가 해결되고 어셈블리는 2005 년과 2008 년에 사용 된 CLR 버전 인 v2.0.50727로 표시됩니다. 그러나 IDE는이 변경 사항을 감지 할만큼 똑똑하지 않습니다. 어셈블리 참조를 제거한 다음 다시 넣어야합니다. 노란색 느낌표는 더 이상 존재하지 않습니다.

관련 문제