In MSDN, Assembly.GetExecutingAssembly Method, è un'osservazione sul metodo "GetExecutingAssembly", che per motivi di prestazioni, si dovrebbe chiamare questo metodo solo quando non si sa in fase di progettazione che cosa assemblaggio è attualmente in esecuzione.
Il modo consigliato per recuperare un oggetto Assembly che rappresenta l'assieme corrente consiste nell'utilizzare la proprietà Type.Assembly
di un tipo trovato nell'assieme.
Il seguente esempio illustra:
using System;
using System.Reflection;
public class Example
{
public static void Main()
{
Console.WriteLine("The version of the currently executing assembly is: {0}",
typeof(Example).Assembly.GetName().Version);
}
}
/* This example produces output similar to the following:
The version of the currently executing assembly is: 1.1.0.0
Naturalmente questo è molto simile alla risposta con la classe helper "class public static CoreAssembly", ma, se si conosce almeno un tipo di esecuzione di montaggio, esso isn È obbligatorio creare una classe di supporto e risparmiare tempo.
fonte
2015-03-24 10:11:59
Se è schierato con ClickOnce, è necessario controllare 'System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion' –
Cosa sarebbe essere interessante: dove è necessario specificare la versione attuale? Ho specificato AssemblyVersion e AssemblyFileVersion nel mio AssemblyInfo.cs e tutto ciò che ottengo dalla chiamata abovemethod è: 0.0.0.0 nonostante abbia specificato 1.0.0 – AgentKnopf
@Zainodis Se ti riferisci alla versione 'ClickOnce' menzionata da @Justin, è specificato nella scheda 'Pubblica' all'interno delle proprietà del progetto (cioè, non correlato a AssemblyVersion o AssemblyFileVersion). –