【发布时间】:2011-10-23 11:13:52
【问题描述】:
我的任务是把一个预先存在的项目变成一个插件。当前项目是一个类库。在加载项中,我添加了 CL 项目作为参考。在加载项的 Connect 类的 Exec 方法中,我尝试添加以下代码以打开 CL 的入口点:
var form = new CLNameSpace.MainForm();
form.Show();
CLNameSpace(本文重命名)是从 CL 项目中引用的命名空间。它也在代码顶部的using 块中。我尝试了this answer 的方法来获取完全限定名,它是正确的。我没有收到任何构建或运行时错误,但出了点问题。使用即时窗口手动实例化上面的两行,我收到以下错误消息:
类型或命名空间名称“CLNameSpace”在此范围内无效
如何解决这个命名空间可见性问题?我想知道这是否是 CLNameSpace 中的某种配置(如果可能的话。)
【问题讨论】:
-
你是如何导入命名空间的?
-
@0xA3 在解决方案管理器中右键单击项目,单击添加引用,然后使用 CLNameSpace 选择项目。由于这产生了问题,我尝试添加对该项目的输出 DLL 的引用。 Intellisense 现在会拾取该命名空间内的所有内容,但我仍然收到无效命名空间错误。
-
抱歉,我指的是实际的
using声明。你能展示你的代码吗? -
@0xA3 我想知道 CLNameSpace 是否会更准确地表示为 A.B.CLNameSpace - 它位于底层。
using System; using Extensibility; using EnvDTE; using EnvDTE80; using Microsoft.VisualStudio.CommandBars; using System.Resources; using System.Reflection; using System.Globalization; using System.Windows.Forms; using System.Collections.Generic; using A.B.CLNameSpace; -
那么在创建表单实例时只需删除
CLNameSpace部分:var form = new MainForm();
标签: c# visual-studio-2010 namespaces add-in