我正在为 Visual Studio 2013 构建一个 Visual Studio 包。这个相同的包非常适用于 Vs 2012 和以前的版本。这是该类的代码:
public class MyClassWindowPane : ToolWindowPane
{
public MyClassPanel MyClassPanelControl;
public List<IVsDataExplorerConnection> Connections { get; set; }
public string SelectedConnectionName { get; set; }
public MyClassWindowPane()
: base(null)
{
MyClassPanelControl = new MyClassPanel();
}
public void InitializeMyClassPanel()
{
MyClassPanelControl.LoadConnections(Connections, SelectedConnectionName);
}
override public IWin32Window Window
{
get { return (IWin32Window)MyClassPanelControl; }
}
}
我得到的错误如下:
找不到与嵌入式互操作类型“Microsoft.VisualStudio.Shell.Interop.IVsWindowSearch”匹配的互操作类型。您是否缺少程序集参考?
找不到与嵌入式互操作类型“Microsoft.VisualStudio.Shell.Interop.IVsUIElementPane”匹配的互操作类型。您是否缺少程序集参考?
我包括以下参考
using Microsoft.VisualStudio.Shell;
using System.Windows.Forms;
using System.ComponentModel.Design;
using System.Runtime.InteropServices;
using Microsoft.VisualStudio.Shell.Interop;
using Microsoft.Win32;
这应该足以编译..
看起来罪魁祸首在 ToolWindowPane 类上,因为如果我删除它,一切都会编译而没有任何错误。
有谁知道为什么会出现这个问题?
在此先感谢您的任何线索
我已经尝试过这里提到的解决方案Interop type cannot be embedded with no lucky: