C# 自定义控件缺少程序集引用
我的一个朋友创建了一个controlMulti-Select组合框并将其编译成DLL。我已将DLL添加到WPF窗口中的引用和命名空间中,如下所示:C# 自定义控件缺少程序集引用,c#,wpf,wpf-controls,C#,Wpf,Wpf Controls,我的一个朋友创建了一个controlMulti-Select组合框并将其编译成DLL。我已将DLL添加到WPF窗口中的引用和命名空间中,如下所示: xmlns:mc="clr-namespace:MultiSelectComboBox;assembly=MultiSelectComboBox" 使用控件时: <mc:MultiSelectUserControl Name="mscControl" /> 问题是,一旦我添加xaml以使用该控件,窗口将变为灰色,带有无效标记。 错误列
xmlns:mc="clr-namespace:MultiSelectComboBox;assembly=MultiSelectComboBox"
使用控件时:
<mc:MultiSelectUserControl Name="mscControl" />
问题是,一旦我添加xaml以使用该控件,窗口将变为灰色,带有无效标记。
错误列表显示2个错误,即:
名称MultiSelectUserControl在命名空间clr命名空间中不存在:MultiSelectComboBox;assembly=多选组合框
及
找不到类型“mc:MultiSelectUserControl”。验证是否缺少部件引用,以及是否已生成所有引用的部件
但是如果我运行这个应用程序,这个控件就工作得很好。当这种情况持续发生时,设计GUI是非常令人沮丧的。我确实做了研究,但没有发现任何有用的东西
为什么会发生这种情况?我做错了什么?完全同意feO2X: 错误背后的主要原因始终是用户控件的某个codein构造函数调用任何特定服务或任何运行时函数 如果有,将不允许用户控件在xaml设计中正确加载它。
因此,我建议您询问您的朋友,他是否在自己的用户控件的构造函数中进行了任何调用,那么在当前场景中,他不应该这样做。他所能做的就是制作一个额外的函数,将所有的CodesCept InitializeComponent放在一起,并在特定用户控件的加载事件中调用particualr函数,在功能上也不会有任何问题尝试清理您的解决方案,重建项目并重新启动Visual Studio。我已经做过很多次了。清理、重建、重新启动VS并创建了一个完整的新项目,但仍然是网络文件夹中的解决方案吗?@Calvin Smith:现在该解决方案位于本地驱动器上的我的文档中。是否存在无法在VS设计器中执行的代码,如MultiSelectComboBox的构造函数中的代码?您必须知道,VS和Blend designer只是控件的一个特殊运行时-如果您这样做,例如服务调用,这些将导致异常,从而阻止设计器在设计时向您显示布局。