当前位置:  开发笔记 > 编程语言 > 正文

如何打包面向通用Windows平台的.NET库?

如何解决《如何打包面向通用Windows平台的.NET库?》经验,为你挑选了1个好方法。

如何以通用NuGet发布的现代通用方式打包通用Windows平台库?假设我有一个用C#编写的AnyCPU程序集,它导出一些代码和XAML用户控件.

这是一系列问题和答案,记录了我对现代NuGet包创作主题的研究结果,特别关注NuGet 3引入的变化.您可能还对一些相关问题感兴趣:

如何打包.NET Framework库?

如何打包面向.NET Core的可移植.NET库?

如何打包面向.NET Framework和通用Windows平台的.NET库并包含特定于平台的功能?

如何打包一个针对通用Windows平台的多架构.NET库?

如何打包一个针对通用Windows平台并依赖于Visual Studio扩展SDK的.NET库?

Sander.. 12

此答案建立在用于打包面向.NET Framework的库的原则之上.首先阅读链接的答案,以便更好地理解以下内容.

首先,您必须选中项目构建设置中的"生成库布局"复选框.如果没有这个,就不可能使用库导出的XAML用户控件.确保将此设置应用于所有构建配置和体系结构.

除了基本的3个资产(参见上面链接的答案)之外,您还需要从构建输出目录中打包以下附加资产:

MyUwpLibrary.pri

MyUwpLibrary子目录

需要这些额外资源才能使用程序集导出的XAML用户控件.始终包括这些资产,即使您尚未从库中导出任何XAML - 您可能有一天会这样做,以后再记住这将是棘手的!

要发布UWP库,您需要创建具有以下结构的NuGet包:

\---lib
    \---uap10.0
        |   MyUwpLibrary.dll
        |   MyUwpLibrary.pdb
        |   MyUwpLibrary.pri
        |   MyUwpLibrary.xml
        |
        \---MyUwpLibrary
                HelloWorld.xaml
                MyUwpLibrary.xr.xml

如果您熟悉.NET Framework库发布,那么这应该看起来非常熟悉和简单.您可以将以下模板用于nuspec文件:



    
        Example.MyUwpLibrary
        1.0.0
        Firstname Lastname
        Example of a UWP library that exports a user control.
        
            
        
    
    
        
        
    

就是这样,真的!在创建NuGet包之前,请记住使用Release配置构建解决方案.有关更多详细信息,请参阅上面链接的有关打包.NET Framework库的答案.

GitHub上提供了一个示例库和相关的打包文件.与此答案对应的解决方案是SimpleUwpLibrary.



1> Sander..:

此答案建立在用于打包面向.NET Framework的库的原则之上.首先阅读链接的答案,以便更好地理解以下内容.

首先,您必须选中项目构建设置中的"生成库布局"复选框.如果没有这个,就不可能使用库导出的XAML用户控件.确保将此设置应用于所有构建配置和体系结构.

除了基本的3个资产(参见上面链接的答案)之外,您还需要从构建输出目录中打包以下附加资产:

MyUwpLibrary.pri

MyUwpLibrary子目录

需要这些额外资源才能使用程序集导出的XAML用户控件.始终包括这些资产,即使您尚未从库中导出任何XAML - 您可能有一天会这样做,以后再记住这将是棘手的!

要发布UWP库,您需要创建具有以下结构的NuGet包:

\---lib
    \---uap10.0
        |   MyUwpLibrary.dll
        |   MyUwpLibrary.pdb
        |   MyUwpLibrary.pri
        |   MyUwpLibrary.xml
        |
        \---MyUwpLibrary
                HelloWorld.xaml
                MyUwpLibrary.xr.xml

如果您熟悉.NET Framework库发布,那么这应该看起来非常熟悉和简单.您可以将以下模板用于nuspec文件:



    
        Example.MyUwpLibrary
        1.0.0
        Firstname Lastname
        Example of a UWP library that exports a user control.
        
            
        
    
    
        
        
    

就是这样,真的!在创建NuGet包之前,请记住使用Release配置构建解决方案.有关更多详细信息,请参阅上面链接的有关打包.NET Framework库的答案.

GitHub上提供了一个示例库和相关的打包文件.与此答案对应的解决方案是SimpleUwpLibrary.

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有