May*_*aya 24 wpf xaml user-controls reference
我有一个winform usercontrol,而不是我想添加到wpf项目.
我添加了相关的引用(WindowsFormsIntegration,SystemWindowsForms和我的用户控件dll)并在我的XAML中添加了这一行:
xmlns:MyControl="clr-namespace:xx.xx.xx;assembly=xx.xx"
Run Code Online (Sandbox Code Playgroud)
然后这个:
<WindowsFormsHost><MyControl:control></MyControl:control></WindowsFormsHost>
Run Code Online (Sandbox Code Playgroud)
当我写"MyControl:"时,"控件"是自动显示的,这意味着VS识别控件并且所有引用都添加正确...但是当我编译项目时,这给了我标题中的错误.
编辑
当我编译所有项目时我非常奇怪我有错误"类型或名称空间名称"xx'找不到..."但我添加了所有引用并且VS识别命名空间以便编译器为什么不要找不到它们?如果这个问题得到解决我相信其他问题也会消失.
Moh*_*dil 42
解决方法是:转到您的项目属性,改变Target Framework从Client Profile你使用的是.NET的完整版本,请参阅下面的图片.如果您的DLL以完整的.NET Framework为目标,并且您的WPF应用程序(主项目)以.Net Client Profile为目标,则会出现此问题.

Aka*_*ava 14
Visual Studio将仅为反射加载引用,以便正确显示正确的intellisense.但是为了编译,编译器将需要你引用的dll所依赖的所有dll.因此,visual studio将显示mycontrol的intellisense,因为它可以在参考中找到它.但是你的myontrol可能会引用你可能没有添加的其他dll.您还必须在项目中添加mycontrol的依赖引用.
我以前遇到过这个问题,并替换<MyControl:control></MyControl:control>为刚刚<MyControl:control/>为我解决的问题。
但不知道为什么。似乎第一种形式仅适用于可以包含其他控件的控件。