【发布时间】:2015-11-18 03:50:27
【问题描述】:
以前的 ASP.NET 版本允许您通过项目属性自动增加版本号。如何在 MVC 6 中做到这一点?
【问题讨论】:
标签: asp.net-core asp.net-core-mvc
以前的 ASP.NET 版本允许您通过项目属性自动增加版本号。如何在 MVC 6 中做到这一点?
【问题讨论】:
标签: asp.net-core asp.net-core-mvc
MVC 6 现在使用project.json 来跟踪版本,您可以使用gulp-bump 增加这个数字。
将 gulp-bump 添加到 package.json > devDependencies
gulp-bump": "1.0.0"
编辑 gulpfile.js
bump = require("gulp-bump")
添加任务以提升版本号
gulp.task("bump", function() {
gulp.src("./project.json")
.pipe(bump())
.pipe(gulp.dest("./"));
});
更新 project.json
1.0.0-*,将其更改为1.0.0。"scripts" 的底部添加"gulp bump" > "prepublish"
现在,无论何时发布、dnu publish 或运行 gulp Task Runner,版本号都会发生变化。
要在视图中显示此版本号,请在视图中添加以下内容;
@inject Microsoft.Extensions.PlatformAbstractions.IApplicationEnvironment appEnv
My version number is @(appEnv.ApplicationVersion)
【讨论】:
dotnet pack 时,版本都会自动更新。
这是 ASP.NET 5 团队自己实际使用的。如果您使用的是持续集成构建服务器,您可以让构建服务器设置 DNX_BUILD_VERSION 环境变量,就像使用 PowerShell 一样:
$env:DNX_BUILD_VERSION=$version
然后您的构建机器将 $version 设置为 'build123' 或类似的东西(它不能以数字开头,必须是字母表中的字符)然后,只要您的版本号设置如下:
{
"version": "1.0.0-*"
}
星号将替换为 DNX_BUILD_VERSION 环境变量中的值。有关详细信息,请参阅 ASP.NET 5 GitHub 页面 here。
【讨论】:
对于 .NET Core (RTM) 项目,您可以使用 dotnet-bump。您可以将它作为工具添加到您的项目中,并从后编译脚本中调用它。 http://github.com/BalassaMarton/dotnet-bump
【讨论】: