2016-11-07 3 views
0

J'ai hérité d'une application C# exe d'un ex-collègue. Nous utilisons cet exe comme un batch appelé par une autre application (et par une ligne de commande pour le test et le débogage). Dans son app.config je ne vois que la configuration pour Log4Net (présent aussi en référence).Exception dans C# exe à l'exécution en utilisant cete.dynamicpdf et une entrée appsettings dans le fichier de configuration

L'application utilise ceTE.DynamicPDF.40.

Je voulais insérer un paramètre de valeur-clé dans app.config, pour une certaine configuration. Quel que soit l'élément j'utilise l'application lève une exception lors de l'exécution. Avant n'a jamais fait.

La ligne où il se casse est:

Document document = new Document(); 

Les informations d'exception sont (traduit):

ex.Source --> ceTe.DynamicPDF.40 
ex.Message --> The type initializer for 'ceTe.DynamicPDF.Document' threw an exception. 
ex.StackTrace -->in ceTe.DynamicPDF.Document..ctor() in BatchStampaRegistroDeleghe.BusinessLogic.BusinessManager.GestioneCover (String & Path, List`1 args, Int32 Startpage, String Sectional) in C: \ ... \ BusinessManager.cs: line 779 
ex.InnerException.Source --> System.Configuration 
ex.InnerException.Message --> Unable to initialize the configuration system 
ex.InnerException.StackTrace --> in System.Configuration.ConfigurationManager.PrepareConfigSystem() in System.Configuration.ConfigurationManager.get_AppSettings() in ceTe.DynamicPDF.Document..cctor() 

Si je supprime l'entrée de l'App.Config exe revenir au travail.

Avez-vous déjà eu des problèmes similaires? Merci d'avance pour tout conseil.

Répondre

1

ceTe.DynamicPDF.40.dll lit le fichier app.config pour voir si des clés de licence sont présentes. Si une clé de licence est trouvée, elle appliquera la clé de licence pour supprimer le filigrane sur le PDF. Selon les informations que vous avez fournies, il semble que ceTe.DynamicPDF.40.dll ne puisse pas lire le fichier app.config en raison des modifications qui y ont été apportées. L'erreur "Impossible d'initialiser le système de configuration" indique généralement un problème avec une entrée non valide ou déplacée dans app.config. Veuillez vérifier la syntaxe des nouveaux paramètres que vous ajoutez à app.config et assurez-vous qu'ils sont ajoutés à l'emplacement correct.

Avis de non-responsabilité: Je travaille pour ceTe Software, la société qui développe les bibliothèques DynamicPDF.

+0

Vous aviez raison, le appsetting que j'ai inclus était avant la configsection, le déplaçant après, le programme fonctionne. J'ai regardé dans mes autres projets, l'ordre est toujours d'abord configsection (si j'en ai) et après appsettings, je ne l'ai jamais mis au point. J'ai testé une application de console avec un mauvais app.config et trouvé lors de l'exécution, lors de la lecture de l'appsetting, cette ex.message: Est autorisé seulement un élément pour le fichier de configuration. Si disponible, il doit s'agir du premier enfant de la racine . Je pense que s'il est strictement interdit d'avoir des premiers appsettings peut-être VS ne devrait pas compiler du tout! – Falco

+0

Nous essayons d'implémenter DynamicPDF dans une application .NET Core 2, donc il n'y a pas de fichier app.config. Existe-t-il une méthode mise à jour pour vérifier les clés de licence dans cet environnement? – tclark333

+0

@ tclark333 La plupart de nos API .NET sont actuellement prises en charge dans .NET Frameworks 2.0 à 4.x. Le support pour .NET Core est en cours et sera disponible dans un proche avenir. – DynamicPDF