Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自定义控件缺少程序集引用_C#_Wpf_Wpf Controls - Fatal编程技术网

C# 自定义控件缺少程序集引用

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以使用该控件,窗口将变为灰色,带有无效标记。 错误列

我的一个朋友创建了一个controlMulti-Select组合框并将其编译成DLL。我已将DLL添加到WPF窗口中的引用和命名空间中,如下所示:

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只是控件的一个特殊运行时-如果您这样做,例如服务调用,这些将导致异常,从而阻止设计器在设计时向您显示布局。