Visual Studio 2015中ASP.NET网站能否手动确定并设置发布版本?
当然可以手动定义ASP.NET网站的版本!虽然不像Windows桌面应用那样有直接的属性面板选项,但有几种简单实用的方法能帮你实现这个需求,下面给你详细拆解:
方法1:通过AssemblyInfo.cs文件设置程序集版本
ASP.NET网站的核心依赖程序集版本,你可以手动添加或修改AssemblyInfo.cs来指定自定义版本:
- 如果你的网站项目里还没有这个文件,右键点击项目 → 添加 → 新建项 → 选择“类”,命名为
AssemblyInfo.cs - 在文件中添加以下代码,把版本号替换成你需要的数值:
using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // 程序集版本(用于程序集引用和强命名) [assembly: AssemblyVersion("1.0.0.0")] // 文件版本(显示在文件属性的详细信息中) [assembly: AssemblyFileVersion("1.0.0.0")]
你可以根据发布需求随意修改这两个版本号,比如改成2.1.3.1这样的自定义格式,发布后程序集的版本就会和你设置的一致。
方法2:在Web.config中配置可读取的网站版本
如果你想让版本号在网站前端或后台逻辑中能直接调用(比如显示在页面底部的版权栏),可以用配置文件的方式:
- 打开网站的
Web.config,在<appSettings>节点下添加版本配置:
<appSettings> <add key="SiteDisplayVersion" value="1.2.0" /> </appSettings>
- 在ASPX页面中读取并显示版本号:
<div class="footer"> 网站版本:<%= System.Configuration.ConfigurationManager.AppSettings["SiteDisplayVersion"] %> </div>
或者在C#后台代码中获取:
string currentVersion = System.Configuration.ConfigurationManager.AppSettings["SiteDisplayVersion"];
每次发布前只需要修改Web.config里的value值就行,非常灵活。
方法3:用MSBuild脚本批量控制发布版本
如果你的发布流程需要自动化管理版本,推荐用MSBuild脚本:
- 在网站项目根目录创建一个
CustomPublish.proj文件,添加如下配置(替换YourWebsite.csproj为你的项目文件名):
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <!-- 在这里定义你想要的版本号 --> <TargetSiteVersion>1.3.0.0</TargetSiteVersion> </PropertyGroup> <Target Name="PublishWithCustomVersion"> <MSBuild Projects="YourWebsite.csproj" Targets="Publish" Properties="AssemblyVersion=$(TargetSiteVersion);AssemblyFileVersion=$(TargetSiteVersion)" /> </Target> </Project>
- 打开命令行,进入项目目录,运行以下命令完成带自定义版本的发布:
msbuild CustomPublish.proj /t:PublishWithCustomVersion
这几种方法覆盖了从简单手动修改到自动化发布的场景,你可以根据自己的需求选择最合适的方式。
内容的提问来源于stack exchange,提问作者Mohammad
相关产品推荐
相关产品推荐

