C# 如何从外部类库(通过NuGet包)引用UserControl?

C# 如何从外部类库(通过NuGet包)引用UserControl?,c#,xaml,nuget,uwp,C#,Xaml,Nuget,Uwp,是否可以在UWP类库中的UWP应用程序项目中引用和使用UserControl? 我尝试在类库中创建UserControl,但当我尝试在应用程序中使用它时,我得到: App1.exe中发生类型为“Windows.UI.Xaml.Markup.XamlParseException”的异常,但未在用户代码中处理 WinRT信息:无法从“ms”找到资源-appx:///ClassLibrary1/MyUserControl1.xaml'. [行:10位置:6] 编辑: 我尝试使用MyUserContro

是否可以在UWP类库中的UWP应用程序项目中引用和使用UserControl? 我尝试在类库中创建UserControl,但当我尝试在应用程序中使用它时,我得到:

App1.exe中发生类型为“Windows.UI.Xaml.Markup.XamlParseException”的异常,但未在用户代码中处理

WinRT信息:无法从“ms”找到资源-appx:///ClassLibrary1/MyUserControl1.xaml'. [行:10位置:6]

编辑: 我尝试使用MyUserControl1的示例页面:

<Page x:Class="App.MainPage"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  xmlns:lib="using:ClassLibrary1"
  xmlns:local="using:App"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  mc:Ignorable="d">

    <Grid>
        <lib:MyUserControl1 />
    </Grid>

</Page>

这是ClassLibrary1中的UserControl

<UserControl x:Class="ClassLibrary1.MyUserControl1"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
         xmlns:local="using:ClassLibrary1"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
         mc:Ignorable="d">

    <Grid />
</UserControl>

编辑2:我没想到这会有这么大的不同,但是。。。 对库的标准引用不会出错,通过NuGet包引用将导致异常发生。对于只有普通类的库,从来没有这样的问题。。。但是,好吧,既然这就是我想要达到的,我将重新表述这个问题。 我添加了解决方案架构的屏幕截图:


您的代码工作正常。尝试重新创建项目。

此链接解决了此问题:

如果有包含XAML组件的NuGet包,则必须手动包含XAML二进制文件(.xbf),否则解析将失败。
好吧,很高兴知道,但真让人头痛

Post XAML,其中使用了
UserControl1
。是否在命名空间中像这样指定程序集@fuchs777也尝试过以这种方式指定名称空间,XAML解析仍然失败您是否在其他项目(存在此页面)中添加了对项目
ClassLibrary1
的引用?@TomWuyts是的,我刚刚有一个引用ClassLibrary1的App1项目。这是一个测试,看看我是否可以引用来自外部库的自定义控件,但似乎这无法完成,或者我遗漏了一些东西是的,它使用标准引用工作得非常好,我忘记了指定我试图实现的是使用NuGet包引用库(带有自定义xaml控件)。这样就出现了例外情况。老实说,我并不认为这是一个重要的细节,也不是问题的来源:P我在问题中添加了细节,谢谢你的见解。即使在2020年,我也面临着这个问题,但似乎没有关于这个问题的好教程。根据您的意见,我写了一份详细的步骤,以帮助我自己和将来遇到类似问题的其他人: