sto ottenendo un FileNotFoundException su un progetto applicazione Windows Form, con il seguente messaggio:"Impossibile caricare il file o System.Drawing montaggio o una delle sue dipendenze" errore .Net 2.0, VS2010 e Windows 8
Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
di replicare il problema:
- Selezionare Nuovo, progetto, scegliere .Net Framework 2.0 come destinazione e raccogliere Applicazione Windows Form come tipo di progetto.
- Nelle proprietà del modulo creato per impostazione predefinita, selezionare un valore per la proprietà Icona. Qualsiasi file .ico funzionerà. Questo incorporerà il file sul file resx.
- Compilare ed eseguire l'applicazione.
Quando faccio questo, il programma si ferma sulla linea this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
con la seguente eccezione:
System.IO.FileNotFoundException was unhandled
Message=Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
Source=mscorlib
FileName=System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
sto ottenendo questo su Visual Studio 2010 SP1, recentemente installato su Windows 8 Developer Preview. Se cambio le proprietà del progetto su .Net Framework 4, l'errore scompare.
Nel file Form1.resx, posso vedere che la versione dell'assembly System.Drawing è esplicitamente indicato come 2.0:
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
Tutte le idee?
Si tratta di un bug in Visual Studio 2010. Le risorse di default di .Net 4.0. Se le tue risorse hanno immagini o qualsiasi cosa che usi la grafica, verrà automaticamente impostata su 4.0 indipendentemente dal target impostato. – vulkanino
@vulkanino Seriamente? C'è qualche soluzione? Oltre a caricare la risorsa in modo dinamico, ovviamente. – Leonardo
per favore leggi la mia risposta. – vulkanino