2013-07-04 4 views
5

4 I가 vs2012에서 잘 작동하지만 이전 버전을 대상으로 4 또는 3.5로 대상을 변경할 때, 나는 오류 컴파일 얻을 vspackage :3.5 .NET 및

오류 17 종류 나 네임 스페이스 이름 'PackageRegistrationAttribute'을 찾을 수 없습니다 (사용 지시문 또는 어셈블리 참조가 누락 되었습니까?)

및 microsoft.visualstudio.shell.10.0 및 9 에 대해 추가 할 참조가 없습니다. 이전 버전의 vs2012 vspackage? 감사합니다

+0

프로젝트를 시작한 .NET Framework에서 사용할 수없는 일부 코드를 사용하고있는 경우 (이전 버전 4.5), 이전에 해당 부분을 제거하지 않고 프로젝트를 변환 할 수 없습니다. –

+0

간단히 말하면, 프로젝트에서'dll'을 참조한다면,이'dll'은 대상 버전에 적절한 버전을 가져야합니다. 올바른 버전을 검색하고 새로운 버전 대신 참조해야한다고 생각합니다. –

+0

@ fire-dragon : 의견을 주셔서 감사합니다. 이전 버전으로 프로젝트를 변환하고 싶지 않습니다. 다른 비주얼 스튜디오에서 사용할 수 있도록 vspackage를 만들고 싶습니다. 3.5, 4를 목표로하는 3 개의 다른 vspackages를 만들고 싶습니다. , 4.5 소스 코드에 필요한 변경 사항. – Albert

답변

1

Visual Studio SDK 어셈블리에 대한 참조를 직접 추가하는 대신 프로젝트에 적절한 VSSDK. * NuGet 패키지를 추가 할 수 있습니다. 예를 들어 .NET 3.5 (Visual Studio 2008)를 대상으로하는 셸 어셈블리는 VSSDK.Shell.9입니다.

Visual Studio 2010에는 .NET 4가 포함되어 있으므로 고도입니다. .NET 3.5에 맞게 작성해야 할 것 같지 않습니다. Visual Studio 2008 및 이전 버전에서는 확장을 패키지화하는 VSIX 파일을 지원하지 않았으므로 이러한 오래된 환경을 지원하는 확장을 개발하려는 경우 실제로 작업해야 할 것입니다.