Modifier les infos de l'assembly

Résolu
bettyblues Messages postés 5 Date d'inscription samedi 28 mai 2011 Statut Membre Dernière intervention 3 juin 2011 - 28 mai 2011 à 19:48
bettyblues Messages postés 5 Date d'inscription samedi 28 mai 2011 Statut Membre Dernière intervention 3 juin 2011 - 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)

2 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
30 mai 2011 à 10:08
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
3
bettyblues Messages postés 5 Date d'inscription samedi 28 mai 2011 Statut Membre Dernière intervention 3 juin 2011
3 juin 2011 à 00:09
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
3
Rejoignez-nous