我希望能够显示我使用发布向导部署的.NET应用程序的当前版本.每次发布应用程序时都有一个很好的选项可以自动更新版本号.
我找到了另一个问题(自动更新版本号),以获取当前版本:
Assembly.GetExecutingAssembly().GetName().Version
Run Code Online (Sandbox Code Playgroud)
这将获取您在项目属性中设置的版本,但不会获取每次发布时自动递增的版本.
Jas*_*son 51
您可以使用以下测试
if (System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed) {
return System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion;
}
Run Code Online (Sandbox Code Playgroud)
避免例外(详见本文).
此外,我认为你不能通过Visual Studio调试获得当前的发布版本,因为访问CurrentDeployment将抛出一个InvalidDeploymentException.
Ed *_*ber 45
我最终使用这一小段代码来获取当前部署的版本,或者它是否未部署当前的程序集版本.
private Version GetRunningVersion()
{
try
{
return Application.ApplicationDeployment.CurrentDeployment.CurrentVersion;
}
catch
{
return Assembly.GetExecutingAssembly().GetName().Version;
}
}
Run Code Online (Sandbox Code Playgroud)
我不得不添加对System.Deployment和的引用System.Reflection.