在Web应用程序中获取构建信息的最佳方式是什么

本文关键字:最佳 方式 是什么 信息 构建 Web 应用程序 获取 | 更新日期: 2023-09-27 18:28:35

我有一个包含2个Web应用程序项目的解决方案,我已将其配置为持续集成并部署到IIS测试环境。它非常有效,我对此感到非常高兴。

现在,我想在部署的网站主页上显示一些信息,让我知道什么是当前版本。有什么方法可以检索这种信息吗?

提前感谢

在Web应用程序中获取构建信息的最佳方式是什么

是的,有几种方法可以实现

读取程序集信息

通常,作为CI构建步骤的一部分,您会添加版本号、公司详细信息、签名库等。当库发出带有更新元数据的请求时,您将能够读取这些信息。要尝试的代码段,请确保找到正确的dll,因为在IIS上,它可能不是正在执行的程序集。

嵌入自定义应用程序配置值

类似地,作为构建过程的一部分,您可以执行xml-pokexml-transform将一些值插入web.config,例如插入<appsettings>部分。MS构建示例。您可能会从web应用程序中使用ConfigurationManager.AppSettings

构建时可以生成一个非常棒的XML文件。调用了BuildInfo.config文件。https://msdn.microsoft.com/en-us/library/dn449058(v=vs.120).aspx

/p:GenerateBuildInfoConfigFile=True

在web项目的根目录下创建BuildInfo.config

<?xml version="1.0" encoding="utf-8"?>
<DeploymentEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/VisualStudio/DeploymentEvent/2013/06">
  <ProjectName>Agriculture</ProjectName>
  <SourceControl type="TFS">
    <TfsSourceControl>
      <ProjectItemSpec>$/ServerPath/To/Your/Project.sln</ProjectItemSpec>
      <ProjectVersionSpec>C39469</ProjectVersionSpec>
    </TfsSourceControl>
  </SourceControl>
  <Build type="TeamBuild">
    <MSBuild>
      <BuildDefinition kind="informative, summary">CIA_TEST</BuildDefinition>
      <BuildLabel kind="label">YOUR_PROJECT_20170406.04</BuildLabel>
      <BuildId kind="id">a7e16be8-141d-4193-b200-b57b19f1564a,vstfs:///Build/Build/34814</BuildId>
      <BuildTimestamp kind="informative, summary">Thu, 06 Apr 2017 16:49:22 GMT</BuildTimestamp>
      <Configuration kind="informative">Release</Configuration>
      <Platform kind="informative">AnyCPU</Platform>
    </MSBuild>
  </Build>
</DeploymentEvent>