目前textbox
,我每次发布应用程序时都会手动更新应用程序中的版本字段 ( )。我想知道是否有办法让我的应用程序从某个地方获取该数据并将其显示在我的框中。我正在使用 VS2012,但我不确定如何在 C# 中实现这一点。下面是我正在谈论的 VS2012 属性窗口的屏幕截图。
新图片:
目前textbox
,我每次发布应用程序时都会手动更新应用程序中的版本字段 ( )。我想知道是否有办法让我的应用程序从某个地方获取该数据并将其显示在我的框中。我正在使用 VS2012,但我不确定如何在 C# 中实现这一点。下面是我正在谈论的 VS2012 属性窗口的屏幕截图。
新图片:
不要忘记检查应用程序是否已网络部署,否则它将无法在调试模式下工作。
if (ApplicationDeployment.IsNetworkDeployed)
{
this.Text = string.Format("Your application name - v{0}",
ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString(4));
}
试试这个:
using System.Deployment.Application;
public Version AssemblyVersion
{
get
{
return ApplicationDeployment.CurrentDeployment.CurrentVersion;
}
}
然后 getter 属性的调用者可以取消引用Major
、Minor
和属性Build
,Revision
如下所示:
YourVersionTextBox.Text = AssemblyVersion.Major.ToString() + "."
+ AssemblyVersion.Minor.ToString() + "."
+ AssemblyVersion.Build.ToString() + "."
+ AssemblyVersion.Revision.ToString();
我们也可以使用重载ToString
的System.Version
using System.Deployment.Application;
public Version AssemblyVersion
{
get
{
return ApplicationDeployment.CurrentDeployment.CurrentVersion;
}
}
YourVersionTextBox.Text = AssemblyVersion.ToString(1); // 1 - get only major
YourVersionTextBox.Text = AssemblyVersion.ToString(2); // 1.0 - get only major, minor
YourVersionTextBox.Text = AssemblyVersion.ToString(3); // 1.0.3 - get only major, minor, build
YourVersionTextBox.Text = AssemblyVersion.ToString(4); // 1.0.3.4 - get only major, minor, build, revision
方法一: 你可以用这个
string version = Application.ProductVersion;
并在您的文本框中显示版本。
方法 2: 或者如果你想要单独的版本部分,你可以使用这个:
System.Version version2 = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
现在你有了这些:
version2.Major;
version2.Minor;
version2.Revision;
version2.Build;
你可以像这样使用它们
string versionString= (String.Format("{0}.{1}.{2}.{3}", version2.Major, version2.Minor, version2.Revision, version2.Build));
如果你得到一个错误ApplicationDeployment
,那么你可以试试这个:
对于通过 访问的全局版本,请Program
在Program
类中声明:
private static Version version = new Version(Application.ProductVersion);
public static Version Version
{
get
{
return version;
}
}
现在您Program.Version
可以在程序中的任何位置使用它来获取版本信息,如下所示:
LabelVersion.Text = String.Format("Version {0}.{1}",
Program.Version.Major.ToString(),
Program.Version.Minor.ToString());