为什么在使用其他项目的NuGet包时会出现XamlParseException?

时间:2016-02-28 22:12:04

标签: c# wpf xaml windows-runtime winrt-xaml

我正在用C#(here's源代码)编写一个基于WinRT的库,在那里我公开了一个名为AppView的自定义XAML控件。当我在本地编译库并从我的sample app使用它时,它似乎工作正常。但是,如果我将它上传到NuGet并像这样使用它:

public MainPage()
{
    new AppView();

    this.InitializeComponent();
}

然后在调用构造函数时得到XamlParseException。我在抛出调试器时跟踪了this suggestion,但不幸的是它只是说“XAML解析失败了”。并且InnerException为空。

这些问题一直在发生,因为我将我的部分库分解为另一个DLL。到目前为止,我已经尝试过:

  • 包括其他DLL(commit
  • 包括Release目录(commit
  • 中的所有内容
  • 将另一个DLL作为单独的NuGet包发布

如果您有兴趣自己重新编写,here's NuGet上包的链接。

编辑:添加了[wpf]标记,因为该平台也与XAML密切相关。

1 个答案:

答案 0 :(得分:3)

好吧,看起来我已经回答了我自己的问题!按照列出的优秀步骤here为我工作。我所要做的就是进入我的项目的属性> 构建并选中生成库布局。然后我更新了我的nuspec文件,只包含输出目录中的所有内容,如下所示:

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

之后,一切都运转良好。