c#项目在设计器中从引用项目中识别用户控件,但在编译时不识别

本文关键字:识别 项目 控件 编译 引用 用户 | 更新日期: 2023-09-27 17:51:19

我知道这是一个很普遍的问题,但是……

我有一个Visual Studio 2010 Winforms c#项目。我添加了一个来自外部供应商的c#项目到相同的解决方案中。我在我的项目中引用了这个供应商的项目。

这个外部项目实现了一个我想使用的自定义ListView控件。

我把控件放在我的主窗体上,甚至设置一些属性-一切都很好:我看到我的窗体上的列表视图。

但是…当我尝试构建时,它告诉我

Error   37  The type or namespace name 'CustomListView' does not exist in the namespace 'CustomNamespace' (are you missing an assembly reference?)

在供应商的代码中,CustomListView类确实存在于命名空间CustomNamespace中。这门课是公开的。我可以在InitializeComponent中右键点击它,点击"Go to implementation"然后进入

namespace CustomNamespace {
    public partial class CustomListView {
        .... 
    }
}

有人遇到过这样的事吗?

编辑:我发现了一个提示。这里还有另一个自定义控件,叫做SplitButton,它继承自Button。此控件的代码是我的项目的一部分,位于主名称空间之下。当我添加CustomListView控件,重新加载项目后,我突然不能再显示表单:它说它找不到SplitButton类。当我删除对CustomListView的所有引用时,SplitButton突然工作正常,表单可以显示。

这些控件没有任何共同之处。这个外部CustomListView控件是否可能以某种方式篡改命名空间解析?

c#项目在设计器中从引用项目中识别用户控件,但在编译时不识别

根据要求,我发表了我的评论作为答案:

尝试在项目属性->应用程序选项卡下检查"目标框架"。如果它被设置为客户端配置文件,然后尝试设置为全框架(即。net Framework 4)