我是靠谱客的博主 拼搏钢笔,最近开发中收集的这篇文章主要介绍解决nuget包中内容无法释放到输出目录的问题项目场景:问题描述原因分析:解决方案:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

项目场景:

项目中有大量引用三方库,不允许直接将库放在源码中。选择创建nuget包来包含所有引用的库。


问题描述

直接引用的库可以释放到输出目录;间接被三方库引用的资源无法释放到输出目录。

原因分析:

nuget脚本有问题;或者打包方式有问题。


解决方案:

使用PackageReference来打包;

修改项目文件csproj,增加如下语句:

<PropertyGroup>
    <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
</PropertyGroup>

添加需要输出的文件到项目中,并设置文件的属性Copy always

编辑项目文件csproj,对于要输出的文件添加如下语句:

<ItemGroup>
        <Content Include="dlls**" >
            <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </Content>
</ItemGroup>

执行打包命令:

cd 到project directory

dotnet pack

 

执行以上命令会生成projectName.1.0.0.nupkg。

使用Nuget Package Explorer打开生成的.nupkg文件。调整需要输出的内容为contentFiles文件夹下的内容即可。

contentFiles文件夹下的内容为最终会输出的内容,在引用的项目中会生成对应文件夹的快捷方式。但是此时这部分内容是快捷方式,还不能完全输出到输出目录。要输出到输出目录,需要对当前的nupkg进行修改。

选中 Edit->Edit Metadata Source

找到对应需要输出的文件,在对应的文件属性里面添加

 copyToOutput="true" flatten="false"  

 

 save修改,然后File->Save as, 保存为新的nupkg。

上传新的nupkg到服务器上即可。上传命令:

nuget push xxx.1.0.1.nupkg (token-key) -Source https://api.nuget.org/v3/index.json

最后

以上就是拼搏钢笔为你收集整理的解决nuget包中内容无法释放到输出目录的问题项目场景:问题描述原因分析:解决方案:的全部内容,希望文章能够帮你解决解决nuget包中内容无法释放到输出目录的问题项目场景:问题描述原因分析:解决方案:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部