新的.NET Core 2.0项目提供了一种简单方便的方式,可以从项目输出中创建Nuget包。只需勾选“生成Nuget包并构建”复选框即可完成。
这个很好用,但我在后期构建事件中遇到了问题。
我想在每次构建后将解决方案中的所有包复制到特定文件夹中。因此,我使用“后期构建事件命令行”和一个脚本:
![enter image description here](https://istack.dev59.com/3ayQ7.webp)
xcopy "$(ProjectDir)$(OutDir)..*.nupkg" "$(SolutionDir)..\WebServicePracticesNuget\" /Y /I
有时候它工作得很好,有时候根本就不行。到目前为止,我的调查结论是Nuget包的创建并不是构建过程本身的一部分。因此,脚本有时会在生成包之前触发,这是不可预测的。我的解决方案是添加一些延迟。不幸的是,“timeout x”在后置事件中无法工作。因此,我使用了备选方案:
ping 127.0.0.1 -n 4 > NUL
这使其几乎可靠(约95%),但我认为这是“穷人的”解决方案。在后构建事件脚本中看起来很荒谬。我已经向VS团队报告了此问题,但迄今没有太多评论或解决方案。
所以我的问题是:是否有人遇到过同样的问题?或者有比我现在更好的解决方案吗? 谢谢。
dotnet pack --include-symbols
或<IncludeSymbols>true</IncludeSymbols>
)。 - Martin Ullrich