C# C-是否有一个独特的;“构建ID”;我可以在Asp.NET Core 3.1中访问的?

C# C-是否有一个独特的;“构建ID”;我可以在Asp.NET Core 3.1中访问的?,c#,asp.net-core,compilation,C#,Asp.net Core,Compilation,我有一些方法需要在我的web应用程序的每个构建中运行一次,而不是更多(甚至不是每次应用程序启动都运行一次)。我设想的最简单的方法是将“LastBuildID”保存到数据库中,在每次应用程序启动时,将“CurrentBuildID”与保存在数据库中的最后一个进行比较。如果两个构建ID不同,那么它是一个新的构建,并且应该运行这些方法 代码如下所示: public static void RunIfNewBuild() { var CurrentBuildID = ??? //what sho

我有一些方法需要在我的web应用程序的每个构建中运行一次,而不是更多(甚至不是每次应用程序启动都运行一次)。我设想的最简单的方法是将“LastBuildID”保存到数据库中,在每次应用程序启动时,将“CurrentBuildID”与保存在数据库中的最后一个进行比较。如果两个构建ID不同,那么它是一个新的构建,并且应该运行这些方法

代码如下所示:

public static void RunIfNewBuild()
{
    var CurrentBuildID = ??? //what should I put here?
    var LastBuildID = DatabaseContext.GetKey("LastBuildID");
    if (CurrentBuildID != LastBuildID)
    {
        DatabaseContext.SetKey("LastBuildID", CurrentBuildID);
        Method1();
        Method2();
        Method3();
    }
}

那么,我是否可以访问某种对当前应用程序构建唯一的ID或GUID?我使用的是C#和Asp.NET Core 3.1。

像这样从汇编信息中获取它。当您的代码更改时,它将更改

var CurrentBuildID = Assembly.GetExecutingAssembly().ManifestModule.ModuleVersionId;