说明
(本人是java半路出家netcore,能力有限,有不对的地方请轻踩,谢谢!)这段时间因为要进行模块拆分,所有项目需要打包上传到仓库然后再引用。主程序需要用到子模块项目的xml说明文档(至于如何将xml包含到NuGet包中上传这里就不再叙述,度娘能够提供很好的建议)。但是netcore出于资源文件复制到输出目录会出现重复等问题,后缀为.dll、.pdb以外的文件不会复制到输出目录。当时我也没有找到可以配置的相关属性,经过一段时间的摸索才搞定此问题,因此把解决的步骤记录下来给碰到类似问题的人提供解决思路。(formwork应该不存在此类问题,希望netcore后续会解决这个问题,会省不少事)
思路
编写一个PowerShell脚本,其功能是将Nuget包中xml文件复制到输出目录, 然后通过项目生成事件执行脚本达到自动复制xml的目的。
步骤
-
编写脚本copyxml.ps1,核心是通过dotnet命令找到项目依赖包信息拼接成xml文件路径,然后复制到输出目录。
Write-Host("Start...") -ForegroundColor red -BackgroundColor white; # 本地包所在列表(dotnet命令确定拉取下来的nuget包保存位置) $localpackPahts=dotnet nuget locals global-packages -l # xml需要复制输出的目录 $outputDirectory=".\bin\Debug\netcoreapp3.1\" #包所在基本路