繁体   English   中英

制作Visual Studio外接程序时如何实现IVsStatusbar

[英]How to implement IVsStatusbar when making a Visual Studio Add-In

我正在尝试创建一个Visual Studio加载项,我需要做的一件事情就是与状态栏进行交互。 根据MSN:状态栏,这应该是一个相当简单的过程。 但是,我无法在IVsStatusbar对象上正确解析它。

该示例建议遵循一个非常标准的过程,例如:

    IVsStatusbar StatusBar = (IVsStatusbar)GetService(typeof(SVsStatusbar));

但是Visual Studio不会解析该引用,并告诉我IVsStatusbar不存在。 如果我单击鼠标右键以自动解析,它将告诉我为其生成一个新类。

我知道它需要我添加的Microsoft.VisualStudio.Shell.Interop ,但还是没有运气。 我已经尝试了dll的v 10.0和v 11.0,但是都没有用。 它不再存在于名称空间中吗? 还是我应该使用另一个参考/对象?

我应该拥有所需的所有参考资料:

    using System;
    using Extensibility;
    using EnvDTE;
    using EnvDTE80;
    using Microsoft.VisualStudio.CommandBars;
    using Microsoft.VisualStudio.Shell.Interop;
    using System.Resources;
    using System.Reflection;
    using System.Globalization;
    using Microsoft.VisualStudio.Shell;

您需要引用Microsoft.VisualStudio.Shell.Interop.xx.dll的所有版本,而不仅仅是其中之一。 他们创建了一个新的程序集,而不是随着时间的推移更改接口,而该程序集除了以前的版本外, 还添加了由服务实现的接口。

编辑:请注意,这仅适用于Interop程序集。 对于其他程序集,例如Microsoft.VisualStudio.Shell,您仅需要引用版本10.0(对于Visual Studio 2010或2010 + 2012扩展)或版本11.0(对于仅Visual Studio 2012的扩展)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM