c# - 如何在 .NET ClickOnce 应用程序中将发布版本同步到程序集版本?

标签 c# version clickonce build-automation

在我的 C# ClickOnce 应用程序中,项目 -> 属性 -> 发布 选项卡中有一个自动递增的发布版本。我想在我的菜单 帮助 -> 关于 框中显示该版本,但我使用的代码显然访问了程序集版本,这是不同的。

可以在项目 -> 属性 -> 应用程序 -> 程序集信息对话框中手动更改程序集版本。所以现在,每次发布之前,我都会将发布版本复制到程序集版本,所以我的对话框显示当前版本 应用程序。必须有更好的方法来做到这一点。

我真正想要做的就是拥有一个准确的、自动更新的、代码可访问的版本号。

这是我用来访问程序集版本号的代码:

public string AssemblyVersion
{
    get
    {
        return Assembly.GetExecutingAssembly().GetName().Version.ToString();
    }
}

另一种方法是找到访问发布版本的代码。

最佳答案

根据我的经验,sylvanaar 的最后一行看起来很不错;但需要注意的是,它仅适用于应用程序的已部署版本。出于调试目的,您可能需要类似以下内容:

    static internal string GetVersion()
    {
        if (ApplicationDeployment.IsNetworkDeployed)
        {
            return ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString();
        }

        return "Debug";
    }

关于c# - 如何在 .NET ClickOnce 应用程序中将发布版本同步到程序集版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1488918/

相关文章:

c# - 读取复杂的 XML 属性

C# 运行时错误 : "DataGridViewComboBoxCell value is not valid"

java - 不支持的 major.minor 版本 52.0

python - 找不到 python xlrd 版本

msbuild - clickonce Bootstrap 和 msbuild 的问题

c# - 抑制/禁用/解决 Visual Studio 构建警告

c# - 抱歉,我们找不到 Test.xlsm。是否有可能被移动、重命名或删除?

c# - 当由带有 ChannelFactory 的接口(interface)调用时,如何从 WCF 工作流 (WF4) 返回字符串?

c# - 如何在 C# 中将数据从 Sqlserver 2008 数据库表插入 MS Access

maven - Maven可以发布:prepare update snapshot version to the release version in batch mode吗