C# windows appication de l'Événement: CLR20r3 au lancement de l'application
OK, donc j'ai créé une application c# et je l'ai installée sur ma boîte de test. Mon application fonctionne parfaitement sur ma dev box, mais quand je l'installe sur une autre machine, elle s'écrase dans le Main(). J'ai le type D'événement: CLR20r3
voici le message de L'événement
Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: logfileviewer.exe
Problem Signature 02: 1.0.0.0
Problem Signature 03: 4f356c9c
Problem Signature 04: LogFileViewer
Problem Signature 05: 1.0.0.0
Problem Signature 06: 4f356c9c
Problem Signature 07: 94
Problem Signature 08: 44
Problem Signature 09: System.IO.FileNotFoundException
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
j'ai utilisé les détails et j'ai cherché le code d'erreur dans IL Disassembler et cam back avec ce qui suit...
Method #5 (06000094)
-------------------------------------------------------
MethodName: .ctor (06000094)
Flags : [Public] [HideBySig] [ReuseSlot] [SpecialName] [RTSpecialName] [.ctor] (00001886)
RVA : 0x000081d0
ImplFlags : [IL] [Managed] (00000000)
CallCnvntn: [DEFAULT]
hasThis
ReturnType: Void
No arguments.
.NET 4.0 a été désinstallé et re installé sur le système et n'a rien changé. J'ai cherché partout sur le net et tous ceux qui ont le même problème ne semblent pas avoir de solution. J'ai maintenant passé un jour et demi sur ce problème. Je ne voudrais pas manquer ma date limite de ne pas être en mesure de lancer la demande.
C'est le seul code dans mon Main ()
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmMain());
}
Voici les détails de l'Observateur d'Événements
Application: LogFileViewer.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.FileNotFoundException
Stack:
at LogFileViewer.frmMain.InitializeComponent()
at LogFileViewer.frmMain..ctor()
at LogFileViewer.Program.Main()
EventData
Application: LogFileViewer.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.FileNotFoundException
Stack: at LogFileViewer.frmMain.InitializeComponent() at LogFileViewer.frmMain..ctor() at LogFileViewer.Program.Main()
Je ne sais pas comment le concepteur peut avoir une Exception FileNotFound. Je suis l'aide de la DotNetBar.dll et moi le référencions du répertoire d'installation, donc ça devrait être bien. Je peux poster mon designer si vous voulez, mais il y en a pas mal. n'importe qui ont des idées?
5 réponses
j'ai vu ce même problème lorsque mon application dépendait d'un assemblage référencé qui n'était pas présent sur la machine de déploiement. Je ne suis pas sûr de ce que vous voulez dire par "référencement DotNetBar hors du répertoire d'installation" - assurez-vous qu'il est défini à CopyLocal=true dans votre projet, ou existe sur le même chemin complet sur votre machine de développement et de production.
j'ai rencontré le même problème lorsque j'ai construit une application sur une boîte Windows 7 qui avait été précédemment maintenue sur une machine XP.
le programme fonctionnait très bien lorsqu'il était construit pour le débogage, mais il a échoué avec cette erreur lorsqu'il a été construit pour la publication. J'ai trouvé la réponse sur la page des propriétés du projet. Allez à L'onglet" Construire "et essayez de changer la cible de la plate-forme de" N'importe quel CPU "à"x86".
.NET a deux CLR 2.0 et 4.0. CLR 2.0 fonctionne jusqu'à .net framework 3.5. CLR 4.0 Fonctionne à partir de .NET 4.0. Il est possible que votre solution utilise un CLR différent de vos assemblages de référence. Dans votre environnement de développement local, il se peut que vous ayez à la fois le PLC et donc que vous n'ayez eu aucun problème. Cependant, lorsque vous êtes passé à un environnement de déploiement, il se peut qu'ils n'aient qu'un seul CLR et que vous ayez cette erreur.
se sont battus toute la matinée et ont maintenant résolu et pourquoi il est arrivé. Poster avec l'espoir qu'il aide les autres
j'ai installé le Krypton.Boîte à outils qui a ajouté les outils à la boîte à outils Visual studio automatiquement. J'ai ensuite ajouté les outils au concepteur, qui a automatiquement ajouté la dll aux références du projet, mais la boîte à outils a été marquée comme CopyLocal=false
j'ai construit un installateur, en utilisant tous les dlls de la version construire dossier (bien sûr la dll ci-dessus n'était pas là).
mettre copylocal = vrai, puis reconstruire l'installateur, tout a bien fonctionné.
pour résoudre le jeu de problèmes CLR20r3 - Local User Policy \ Computer Configuration \ Windows Settings \ Security Settings \ Local Policies \ Security Options - System cryptography
: utiliser des algorithmes cryptographiques conformes à la norme FIPS 140, y compris le cryptage, le hachage et la désactivation de la signature