J'ai un fichier SFX (exécutable auto-extractible) dans les fenêtres (créés avec les outils zip comme 7z
, WinRar
, ....) avec les détails suivants:LegalCopyRight est toujours vide dans FileVersionInfo C#?
Je veux obtenir CopyRight
texte en C#, donc je l'ai écrit le code suivant:
var fileVersionInfo = FileVersionInfo.GetVersionInfo(filePath);
Console.Write(fileVersionInfo.LegalCopyright)
fileVersionInfo.LegalCopyright
est toujours vide! Quel est le problème?
Edit:
Mon code d'origine:
var fileVersionInfo = FileVersionInfo.GetVersionInfo(filePath1);
var properties = typeof(FileVersionInfo).GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (var propertyInfo in properties)
{
var value = propertyInfo.GetValue(fileVersionInfo);
Console.WriteLine("{0} = {1}", propertyInfo.Name, value);
}
Console.ReadKey();
Le résultat:
FileVersionInfo n'a pas de bogue. Passez en revue [cet article] (http://stackoverflow.com/a/23145471/17034). L'erreur la plus évidente que vous pourriez faire ici est d'essayer d'obtenir l'information pour le fichier SFX au lieu de votre propre fichier. Ou l'inverse. –
ajoutez un 'Console.Write (filePath)' pour prouver que vous lisez le bon fichier. Les autres propriétés d'info de version sont-elles également vides? – dlatikay
Je suis absolument sûr de 'filePath'. S'il vous plaît voir la section d'édition. –