我正在自动化.NET Standard项目(VS 2017的新csproj格式),以在构建后生成nuget包。

问题是我希望解决方案中的所有项目都遵循我的AppVeyor构建的版本,而不是csprojs的Package属性中设置的版本(默认为1.0.0)。

要考虑的另一件事是,我的项目之间具有引用,并且也应该保留AppVeyor构建版本。

有一个简单的方法吗?怎么样?

最佳答案

您可以将版本作为MSBuild属性传递给dotnet pack:

dotnet pack MyProject.csproj --configuration Release /p:Version="1.2.3"

(这也适用于dotnet build)

这是FakeItEasy build script中的示例。

要获取AppVeyor内部版本号,请使用APPVEYOR_BUILD_VERSION environment variable

要考虑的另一件事是,我的项目之间具有引用,并且也应该保留AppVeyor构建版本。

这不应该成为问题,因为您没有在<ProjectReference>元素中指定版本。

关于.net - 如何在AppVeyor中使用dotnet pack?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44740502/

10-09 04:01