2013-07-04 86 views
5

我在vs2012工作正常,但是當我改變目標爲4或3.5爲目標較舊的版本,我得到編譯錯誤VSPackage的:創建VSPackage的目標.NET 3.5和4

錯誤17類型或名稱空間名稱'PackageRegistrationAttribute'找不到(您是否缺少使用指令或程序集引用?)

並且沒有提及爲microsoft.visualstudio.shell.10.0和9添加引用 是否可以創建vs2012 vs vs1212舊版本的vspackage? 謝謝

+0

如果您正在使用的某些部分代碼不適用於比您開始投影的代碼更早的.NET框架(我想4.5),那麼您無法先轉換該項目,然後再刪除該部分。 –

+0

簡單來說,如果你在你的項目中引用了一些'dll',這個'dll'應該有一個與目標版本相應的版本。我認爲你應該嘗試搜索正確的版本,並參考它而不是新版本。 –

+0

@ fire-dragon:感謝您的評論,我不想將該項目轉換爲舊版本,我只是想創建一個vspackage以供不同的視覺工作室使用,我想要創建3個不同的vspackage,目標爲3.5,4 ,4.5需要更改源代碼。 – Albert

回答

1

與其直接添加對Visual Studio SDK程序集的引用,您可以將相應的VSSDK。* NuGet程序包添加到項目中。例如,您正在尋找以.NET 3.5(Visual Studio 2008)爲目標的Shell程序集是VSSDK.Shell.9

請注意,Visual Studio 2010包含.NET 4,因此它不是高度您不需要構建對.NET 3.5。 Visual Studio 2008和更早版本不支持VSIX文件來打包擴展,所以如果你想開發一個支持這些舊環境的擴展,你真的會削減你的工作。