我正在自动化.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/