2013-06-18 3 views
0

Je crée un fichier EXE de mon application C# et en ajoutant quelques dlls commeFaire la course exe sur la version inférieure du cadre

SFXmaker.cp = new System.CodeDom.Compiler.CompilerParameters(); 
cp.ReferencedAssemblies.Add("System.Drawing.dll"); 
cp.ReferencedAssemblies.Add("System.Windows.Forms.dll"); 

Le problème est que j'utilise .NET Framework 4.0 et quand je lance la extracteur sur .NET 2.0 il se bloque. Quelqu'un peut-il me dire comment faire fonctionner le exe sur .NET 2.0 créé à partir de l'application .NET 4?

Example I am referencing

+1

Avez-vous essayé de cibler le framework 2.0 lors de la construction du projet? – Tim

+0

Im créer une archive de fichiers à partir d'une application C# qui est la construction ciblant le framework .net 4 et de cette application je veux créer une archive qui pourrait fonctionner sur .net2 framework – dakait

+0

Je ne pense pas que vous pouvez le faire. Vous devez créer une archive distincte qui cible .NET 2.0. – Tim

Répondre

4

Vous devez compiler le projet avec .net 2.0 lorsque vous construisez.

Si vous utilisez un IDE comme Visual Studio, faites un clic droit sur le projet et sélectionnez "propriétés" là vous verrez le framework cible.

1

Un assembly .NET compilé pour .NET 4.0 sera jamais exécuté dans le .NET 2.0 CLR. Vous devez le recompiler pour .NET 2.0.

+0

Je ne veux pas lancer l'assembly compilé '.net4' sur' .net2' Je veux lancer l'exe généré par lui sur .net2, le 'dlls' im ajoutant par' cp.ReferencedAssemblies.Add ("System.Windows. Forms.dll ");' commande sont la version 4 puis-je ajouter la version 2 dlls? Y at-il une option de compilateur que je peux définir? ou je dois fournir manuellement le chemin d'accès aux versions 2 dlls? – dakait

+0

Je ne suis pas sûr si vous comprenez qu'un 'exe' est un * assembly *. Vous ne pouvez pas exécuter un 'dll' ou' exe' ciblant .NET 4.0 avec le .NET 2.0 CLR. –

Questions connexes