创建针对.net 3.5和4的VSPackage

Alb*_*ert 5 c# winforms visual-studio-2012

我有一个在vs2012中工作正常的vspackage,但是当我将目标更改为4或3.5以定位旧版本时,我得到编译错误:

错误17找不到类型或命名空间名称'PackageRegistrationAttribute'(您是否缺少using指令或程序集引用?)

并且没有为microsoft.visualstudio.shell.10.0和9添加引用.是否可以在vs2012中为旧版本创建vspackage?谢谢

Sam*_*ell 1

您可以将适当的 VSSDK.* NuGet 包添加到项目中,而不是直接添加对 Visual Studio SDK 程序集的引用。例如,您正在寻找的面向 .NET 3.5 (Visual Studio 2008) 的 Shell 程序集是VSSDK.Shell.9

请注意,Visual Studio 2010 包含 .NET 4,因此您不太可能需要针对 .NET 3.5 进行构建。Visual Studio 2008 及更早版本不支持 VSIX 文件来打包扩展,因此如果您想开发支持这些旧环境的扩展,您的工作确实会很困难。