Bonjour,

J'ai un code qui fonctionne parfaitement lorsque mon projet est compilé avec le Framework .NET 4.0 Client Profile (sur SharpDevelop).
Mais je dois l'exécuter sur un Windows Server qui ne va que jusqu'au Framework .NET 3.5
Je recompile donc mon projet avec le Framework .NET 3.5 Client Profile mais mon code ne fonctionne plus.

L'erreur ne me parle pas du tout :
Impossible d'intercepter l'exception. Le programme en cours de débogguage ne peut pas continuer et les propriétés ne peuvent pas être évaluées.
System.BadImageFormatException: Impossible de charger le fichier ou l'assembly 'sophie.exe' ou une de ses dépendances. Le module était censé contenir un manifeste de l'assembly.


J'ai l'avertissement suivant remonté par SharpDevelop :
Found conflicts between different versions of the same dependent assembly. (MSB3247)

Mon code (au cas où cela peut aider à la résolution) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
using System;
using System.IO;
using System.Xml;
using System.Text;
 
namespace sophie
{
	class Program
	{
		public static void Main(string[] args)
		{
			////////////////// initialisation des variables ////////////////////////////////////
			// variables de texte
			string aaa = "";
			string bbb = "";
			string ccc = "";
			string ddd = "";
			string eee = "";
			string fff = "";
			string ggg = "";
			string hhh = "";
			string iii = "";
			// variables de travail
			string txtlog = "";
			int countRequest = 0;
			// variables fichier
			string logPath = "C:/Users/xxx/Desktop/flux_xml.xml";
			string logPath2 = "C:/Users/xxx/Desktop/logSave.log";
			string logPath3 = "C:/Users/xxx/Desktop/logModifiee.log";
			/////////////////////////////////////////////////////////////////////////////////////
			// Choix du XML et parcours
			XmlReader xmlReader = XmlReader.Create(logPath);
			while(xmlReader.Read())
            {
				// condition pour éviter les doublons dans la log
				if(countRequest==0)
				{
					//conditions pour récupérer les informations intéressantes
	                if((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == "aaa"))
	                {
	                    if(xmlReader.HasAttributes)
	                    {
	                    	txtlog += xmlReader.GetAttribute("bbb")+";";
	                    }
	                }
	                if((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == "ccc"))
	                {
						          txtlog += "toto"+";";
	                }
	                if((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == "ddd"))
	                {
						          txtlog += "toto"+";";
	                }
	                if((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == "eee"))
	                {
	                	xmlReader.Read();
	                	txtlog += xmlReader.Value+";";
	                }
	                if((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == "fff"))
	                {
	                	xmlReader.Read();
	                	aaa = xmlReader.Value;
	                }
	                if((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == "ggg"))
	                {
	                	xmlReader.Read();
	                	bbb = xmlReader.Value;
	                }
	                if((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == "hhh"))
	                {
	                	xmlReader.Read();
	                	ccc = xmlReader.Value;
	                }
	                if((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == "iii"))
	                {
	                	xmlReader.Read();
	                	ddd = xmlReader.Value;
	                }
	                if((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == "jjj"))
	                {
	                	xmlReader.Read();
	                	eee = xmlReader.Value;
	                }
	                if((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == "kkk"))
	                {
	                	xmlReader.Read();
	                	fff = xmlReader.Value;
	                }
	                if((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == "lll"))
	                {
	                	xmlReader.Read();
	                	ggg = xmlReader.Value;
	                }
	                if((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == "mmm"))
	                {
	                	xmlReader.Read();
	                	hhh = xmlReader.Value;
	                }
	                if((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == "nnn"))
	                {
	                	xmlReader.Read();
	                	iii = xmlReader.Value;
	                }
	                // éviter les doublons
					if((xmlReader.NodeType == XmlNodeType.EndElement) && (xmlReader.Name == "ooo"))
					{
						countRequest++;
					}
	            }
			}
			// ajouter les variables
			txtlog += aaa + ";" + bbb + "|" + ccc + "|" + ddd + "|" + eee + "|" + fff + "|"
					+ ggg + "|" + hhh + "|" + iii + "|" + jjj + ";;;;;;";
			// sauvegarder l'ancienne log
			string txtXML = File.ReadAllText(logPath);
			File.WriteAllText(logPath2, txtXML);
			// remplir le nouveau fichier de log
			File.WriteAllText(logPath3, txtlog);
		}
	}
}
Merci d'avance pour vos réponses face à cette exception dont les réponses de Google ne m'aident pas vraiment (niveau compréhension)