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?

23
demandé sur animuson 2012-02-12 02:44:05

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.

21
répondu RyanR 2017-05-23 12:10:19

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".

3
répondu Dale Lutes 2014-05-21 21:05:20

.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.

3
répondu xs2mayank 2015-12-16 10:42:43

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é.

0
répondu Martin 2012-11-21 14:30:49

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

-6
répondu Revaz Kavtiashvili 2015-06-09 11:10:39