Migrating from VS 2005 to VS 2008 with Microsoft.VisualStudio.Shell references (译)

    一些客户(在升级VS 2005 Package到VS 2008时)遇到了问题,而我写这篇帖子就是要解决这些问题。这里要感谢我们的Engineering Lead Deepankar调查了这个问题。

    如果你使用VS 2005开发VS Package工程,那么你不能够在不重新编译工程的情况下直接迁移package工程到Visual Studio 2008(译注:一些基础的迁移可以参考另一篇文章:Upgrading VS 2005 Packages to VS 2008: A Basic Guide),原因是ProjectAggregator2有了一些变更——ProjectAggregator2将不再做为单独的安装包分发,而是集成到VS平台里的Microsoft.VisualStudio.Shell.9.0.dll程序集里,就是说不是随VS 2008 SDK一起发布的。

    如果你打开Microsoft.VisualStudio.Shell.Flavor命名空间,你会看到如下列出的接口:

·         IvsProjectaggregator2

·         IVsAggregatableProjectCorrected

·         IVsAggregatableProjectFactoryCorrected. 

他们就是ProjectAggregator2集成到Shell DLL的对应,所以你需要添加工程引用,并更新ProjectBase目录下的FlavoredProjectFactoryBase.cs文件。

要想让vs 2005 package工程可以在Visual Studio 2008下工作,你需要做下面的事情:

·         通过使用VS 2008和.NET 3.5加载工程升级Package工程到VS 2008

·         删除对Microsoft.VisualStudio.Shell的引用

·         添加对Microsoft.VisualStudio.Shell.9.0和Microsoft.VisualStudio.Shell.Interop.9.0的引用

·         移除Project Base代码下的FlavoredProjectFactoryBase.cs文件

·         重新编译

posted @ 2008-01-30 10:41  winkingzhang  阅读(2196)  评论(1编辑  收藏  举报