我正在开发一个库,大量使用反射,并同时针对.NET核心( netstandard1.3
)和完整的.NET( net451
)。
为了使之与.NET本地(即UWP发布版本)的工作,它需要一个rd.xml文件,它看起来像这样:
<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
<Library Name="MyLibrary">
<!-- bunch of directives here -->
</Library>
</Directives>
我知道这些指令的工作,因为它们插入的Application.rd.xml
使用该库的应用程序UWP文件工作正常,但由于缺少否则元数据的应用程序崩溃。
使用这个博客帖子 ,我试图通过增加使我的图书馆兼容uap10.0
到支持的框架,使用相同的依赖关系netstandard1.3
+ System.Runtime
,然后添加以下到我的project.json
的packOptions
:
"files": {
"include": "Properties/MyLibrary.rd.xml",
"mappings": {
"lib/uap10.0/MyLibrary/Properties/MyLibrary.rd.xml": "Properties/MyLibrary.rd.xml"
}
}
所生产的包装dotnet pack -c Release
确实包含MyLibrary.rd.xml
在预期的地方文件。
然而,.NET本地不拿起.rd.xml
文件时,我使用包(来自的NuGet,而不是作为一个项目引用)在UWP应用; 该应用程序缺失的元数据错误崩溃。
我在想什么?