如何统计Visual Studio ASP.Net中Web应用程序的发布次数?
统计Visual Studio中ASP.NET Web应用的发布次数方法
下面提供几个可行的方案,不需要依赖Visual Studio内置功能:
用脚本+计数器文件主动记录
自己写个简单的脚本,每次发布时自动更新计数:- 在项目根目录创建一个
PublishCount.txt文件,初始内容写0 - 编写PowerShell脚本(比如命名为
UpdatePublishCount.ps1):$countFile = ".\PublishCount.txt" $count = [int](Get-Content $countFile) $count++ Set-Content $countFile $count Write-Host "本次发布后累计次数: $count" - 打开Visual Studio的发布配置,找到预发布命令(或后期发布命令),填入调用脚本的命令:
powershell -ExecutionPolicy Bypass -File "$(ProjectDir)UpdatePublishCount.ps1"
这样每次触发发布,脚本都会自动把计数加1并保存。
- 在项目根目录创建一个
通过MSBuild目标嵌入项目
直接在ASP.NET项目的.csproj文件中添加自定义MSBuild目标,让发布过程自动更新计数:- 同样先在项目根目录创建
PublishCount.txt,初始值0 - 打开
.csproj文件,添加以下XML代码:<Target Name="IncrementPublishCount" BeforeTargets="Publish"> <PropertyGroup> <CountFile>$(ProjectDir)PublishCount.txt</CountFile> </PropertyGroup> <ReadLinesFromFile File="$(CountFile)"> <Output TaskParameter="Lines" ItemName="CountLines"/> </ReadLinesFromFile> <PropertyGroup> <CurrentCount>$([System.Int32]::Parse('@(CountLines)'))</CurrentCount> <NewCount>$([System.Int32]::Add($(CurrentCount), 1))</NewCount> </PropertyGroup> <WriteLinesToFile File="$(CountFile)" Lines="$(NewCount)" Overwrite="true"/> </Target>
保存后,每次执行发布操作时,MSBuild会自动执行这个目标,更新计数器文件里的数字。
- 同样先在项目根目录创建
通过Visual Studio活动日志事后统计
Visual Studio的活动日志会记录发布相关事件,你可以通过日志统计次数:- 打开活动日志:菜单栏选择
帮助->查看活动日志 - 在日志中搜索关键词
Publish,统计相关事件的数量
注意:这个方法是事后统计,日志可能会被自动清理或覆盖,不如前两种主动记录的方式可靠。
- 打开活动日志:菜单栏选择
内容的提问来源于stack exchange,提问作者programmer_wannabe
相关产品推荐
相关产品推荐

