我在跟踪this article。
我有一个用户控件,看起来像这样:
<common:ViewBase
x:Class="MyNamespace.MyView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:common="clr-namespace:Common;assembly=Common">
</common:ViewBase>
字符串
我的代码看起来像这样:
namespace MyNamespace
{
public partial class MyView : ViewBase
{
public MyView()
{
InitializeComponent();
}
}
}
型
ViewBase看起来像这样:
namespace Common
{
public class ViewBase : UserControl
{
}
}
型
但它拒绝构建,我一直得到以下错误:未找到类型“common:ViewBase”。请验证您没有丢失程序集引用,并且所有引用程序集都已构建。
我根据另一篇文章的建议将ViewBase移动到一个单独的程序集,但我也尝试将它放在同一个程序集中。有人知道如何解决这个问题吗?
2条答案
按热度按时间zpjtge221#
我能够使用您的代码作为示例进行编译,并具有单独的程序集。如果您将其放入单独的程序集中,则必须确保在派生的UserControl工作之前进行构建。如果它位于单独的程序集中,请验证您对UserControl的正确引用。我必须添加PresentationCore,PresentationFramework,System.Xaml,和WindowsBase之前,该项目将建立。为了让它建立与引用,我不得不排除派生的UserControl从其他项目。
这是一个先有鸡还是先有蛋的场景。在我得到另一个要构建的程序集之后,我就能够构建派生的UserControl所在的程序集了。
如果在单独的程序集中没有基UserControl,请验证Xaml命名空间是否正确:
字符串
如果你仍然有问题,请张贴更多的代码和/或更多的错误消息,如果你有一个以上的。这可能是另一个错误消息是真实的罪魁祸首在这里。
wswtfjt72#
两个星期以来,我一直在为同一个问题而斗争,我感到绝望。
我的任务是用xmlns:local=“clr-namespace:myPresentationLayernamespace”和作为UserControl加载一个完整的窗口。
在与Bing进行了几次会话后,它将我重定向到这篇文章及其线索:
在构建该项目之前,我必须添加PresentationCore、PresentationFramework、System.Xaml和WindowsBase。
实际上,我只找到并安装了
System.Runtime.WindowsRuntime.UI.Xaml
nuget扩展,结果是瞬间的:* 所有构建错误都消失了 *。我没有移动任何组件的项目。只是安装了扩展。非常高兴与此职位和冰的援助。