Modifier les infos de l'assembly [Résolu]

bettyblues 5 Messages postés samedi 28 mai 2011Date d'inscription 3 juin 2011 Dernière intervention - 28 mai 2011 à 19:48 - Dernière réponse : bettyblues 5 Messages postés samedi 28 mai 2011Date d'inscription 3 juin 2011 Dernière intervention
- 3 juin 2011 à 00:09
Bonjour à tous,

je souhaiterais modifier les valeurs de l'assembly (copyright, version, description,...) via un form avec des textbox.

J'ai trouvé le moyen d'y arriver en vb mais pas en c#...

Je vous mais un partie de mon code en vb que je n'arrive pas à reproduire en C#. Si vous aviez des infos ou autres...

D'avance Merci

Dim oVersionResource As New VersionResource()
        oVersionResource.LoadFrom(sPath)

        oVersionResource.FileVersion = numFileVersion_1.Value & "." & numFileVersion_2.Value & "." & numFileVersion_3.Value & "." & numFileVersion_4.Value
        oVersionResource.ProductVersion = numVersion_1.Value & "." & numVersion_2.Value & "." & numVersion_3.Value & "." & numVersion_4.Value

        Dim oStringFileInfo As StringFileInfo = DirectCast(oVersionResource("StringFileInfo"), StringFileInfo)
        oStringFileInfo("InternalName") = String.Format("{0}" & vbNullChar, txtFileName.Text.Trim)
        oStringFileInfo("OriginalFilename") = String.Format("{0}" & vbNullChar, txtFileName.Text.Trim)
        oStringFileInfo("FileVersion") = String.Format("{0}" & vbNullChar, oVersionResource.FileVersion)
        oStringFileInfo("ProductVersion") = String.Format("{0}" & vbNullChar, oVersionResource.ProductVersion)
        oStringFileInfo("Assembly Version") = String.Format("{0}" & vbNullChar, oVersionResource.ProductVersion)
        oStringFileInfo("LegalCopyright") = String.Format("{0}" & vbNullChar, txtACopyright.Text.Trim)
        oStringFileInfo("FileDescription") = String.Format("{0}" & vbNullChar, txtADescription.Text.Trim)

        oVersionResource.SaveTo(sPath)
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 30 mai 2011 à 10:08
3
Merci
Bonjour,

Essaye ceci :

var versionResource = new VersionResource();
versionResource.LoadFrom(path);

versionResource.FileVersion = string.Format("{0}.{1}.{2}.{4}", fileVersion1.Value, fileVersion2.Value, fileVersion3.Value, fileVersion4.Value);
versionResource.ProductVersion = string.Format("{0}.{1}.{2}.{4}", version1.Value, version2.Value, version3.Value, version4.Value);

var stringFileInfo = versionResource["StringFileInfo"] as StringFileInfo;
stringFileInfo["InternalName"] = txtFileName.Text.Trim() + "\0";
stringFileInfo["OriginalFilename"] = txtFileName.Text.Trim() + "\0";
// etc...


je te laisse faire la suite !


Sébastien FERRAND
Ingénieur Concepteur Senior
Microsoft Visual C# MVP 2004 - 2009
Blog Photo

Merci sebmafate 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de sebmafate
Meilleure réponse
bettyblues 5 Messages postés samedi 28 mai 2011Date d'inscription 3 juin 2011 Dernière intervention - 3 juin 2011 à 00:09
3
Merci
Un grand Merci !

Je bloquais sur :

Dim oStringFileInfo As StringFileInfo = DirectCast(oVersionResource("StringFileInfo"), StringFileInfo)


et ta solution marchais presque :
var stringFileInfo = versionResource["StringFileInfo"] as StringFileInfo;


Il fallait juste remplacer le var par StringFileInfo :

StringFileInfo stringFileInfo = versionRessource["StringFileInfo"] as StringFileInfo;


Enfin voilà^^ Merci

Merci bettyblues 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de bettyblues

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.