从另一个项目使用我的NuGet包时,为什么会出现XamlParseException?

问题描述:

我在C#中编写基于WinRT的库(here's源代码),其中我公开了一个名为AppView的自定义XAML控件。当我在本地编译库并从我的sample app使用它时,它似乎工作正常。但是,如果我把它上传到的NuGet和使用它像这样:从另一个项目使用我的NuGet包时,为什么会出现XamlParseException?

public MainPage() 
{ 
    new AppView(); 

    this.InitializeComponent(); 
} 

然后我得到一个XamlParseException当构造函数被调用。在调试器被抛出时,我跟在this suggestion之后,但不幸的是它只是说'XAML解析失败。而InnerException为空。

自从我将我的库的一部分分解为另一个DLL以来,这些问题一直在发生。到目前为止,我曾尝试:

  • 包括其他DLL(commit
  • 包括一切都在Release目录(commit
  • 发布其他DLL作为一个单独的NuGet包

如果你有兴趣自己重新编写这个文件,here's指向NuGet上软件包的链接。


编辑:添加了[WPF]标记,因为该平台也有密切的关系XAML。

好吧,看起来我已经回答了我自己的问题!继上面列出的优秀步骤here为我工作。我所要做的只是进入我的项目的属性>构建和检查生成库布局。然后,我更新了我的nuspec文件只包括输出目录的一切,就像这样:

<file src="bin\Release\**" target="lib\.NETCore50" /> 

在那之后,一切都工作正常。