2010-03-18 7 views
0

J'ai essayé de développer un utilitaire winform simple qui utilise le fichier xml comme base de données. J'ai utilisé VS 2008 édition express, C#..NET Erreur d'exception, que signifie cette erreur?

Lorsque cet utilitaire tente d'écrire dans le fichier XML, cette erreur s'affiche sur un autre ordinateur. J'ai essayé de fournir System.Xml.dll & System.Xml.Linq.dll dans le même dossier sur l'autre ordinateur mais aucune utilisation.

Qu'est-ce que cela signifie? Toute solution?

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box. 

************** Exception Text ************** 
System.MissingMethodException: Method not found: 'Void System.Xml.XmlReaderSettings.set_MaxCharactersFromEntities(Int64)'. 
    at System.Xml.Linq.XNode.GetXmlReaderSettings(LoadOptions o) 
    at System.Xml.Linq.XDocument.Load(String uri, LoadOptions options) 
    at System.Xml.Linq.XDocument.Load(String uri) 
    at Issues.Form1.button1_Click(Object sender, EventArgs e) 
    at System.Windows.Forms.Control.OnClick(EventArgs e) 
    at System.Windows.Forms.Button.OnClick(EventArgs e) 
    at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) 
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) 
    at System.Windows.Forms.Control.WndProc(Message& m) 
    at System.Windows.Forms.ButtonBase.WndProc(Message& m) 
    at System.Windows.Forms.Button.WndProc(Message& m) 
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 


************** Loaded Assemblies ************** 
mscorlib 
    Assembly Version: 2.0.0.0 
    Win32 Version: 2.0.50727.832 (QFE.050727-8300) 
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll 
---------------------------------------- 
Issues 
    Assembly Version: 1.0.0.0 
    Win32 Version: 1.0.0.0 
    CodeBase: file:///C:/Documents%20and%20Settings/sumsnl.LTSLFBD/Desktop/Process%20Improvement/Issues%20Register/Issues.exe 
---------------------------------------- 
System.Windows.Forms 
    Assembly Version: 2.0.0.0 
    Win32 Version: 2.0.50727.832 (QFE.050727-8300) 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll 
---------------------------------------- 
System 
    Assembly Version: 2.0.0.0 
    Win32 Version: 2.0.50727.832 (QFE.050727-8300) 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll 
---------------------------------------- 
System.Drawing 
    Assembly Version: 2.0.0.0 
    Win32 Version: 2.0.50727.832 (QFE.050727-8300) 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll 
---------------------------------------- 
System.Xml 
    Assembly Version: 2.0.0.0 
    Win32 Version: 2.0.50727.832 (QFE.050727-8300) 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll 
---------------------------------------- 
System.Configuration 
    Assembly Version: 2.0.0.0 
    Win32 Version: 2.0.50727.832 (QFE.050727-8300) 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll 
---------------------------------------- 
4u_pgrmq 
    Assembly Version: 1.0.0.0 
    Win32 Version: 2.0.50727.832 (QFE.050727-8300) 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll 
---------------------------------------- 

************** JIT Debugging ************** 
To enable just-in-time (JIT) debugging, the .config file for this 
application or computer (machine.config) must have the 
jitDebugging value set in the system.windows.forms section. 
The application must also be compiled with debugging 
enabled. 

For example: 

<configuration> 
    <system.windows.forms jitDebugging="true" /> 
</configuration> 

When JIT debugging is enabled, any unhandled exception 
will be sent to the JIT debugger registered on the computer 
rather than be handled by this dialog box. 

Répondre

1

Ne fournit pas System.Xml.dll & System.Xml.Linq.dll. Ils font partie du cadre et devraient déjà être présents au sein du GAC. Assurez-vous que .NET 3.5 SP1 est installé sur l'ordinateur de l'utilisateur.

4

Il semble que vous développiez contre .NET 3.5 mais que vous déployiez sur une machine qui ne dispose que de .NET 2.0. Cela ne marchera pas.

1

formulaire ici: Facebook Toolkit 2.0 - Error when running it on a server with asp.net 2.0 installed

Peut-être que vous avez la mauvaise version .NET sur votre machine cible?

+0

Je suis dans mes premières étapes d'apprentissage du code avec C#, comment me suggérez-vous de prendre soin de telles choses sur l'ordinateur du client? – gsvirdi

+0

Ce n'est pas vraiment un problème C#, plus que le client n'a pas la dernière version du framework .NET installé. Si vous les obtenez pour aller sur le site Web de Microsoft (http://www.microsoft.com/NET/), ils peuvent télécharger à partir de là. Si vous utilisez VS2008, ils auront besoin de framework 3.5 au moins – Darbio

1

Quelque chose de très poisson se passe dans la décharge d'exception. La pile d'appel montre clairement qu'elle exécute le code Linq, GetXmlReaderSettings() est uniquement disponible dans System.Xml.Linq, un assembly .NET 3.5. La liste des assemblages ne montre cependant pas cet assemblage.

En fait cette liste semble corrompue, notez l'entrée nommée "4u_pgrmq". Chargé à partir de System.dll, déjà répertorié avant. Le numéro de révision .NET est très faible, 832 devrait être quelque part autour de la période .NET 3.0. La preuve possible que vous avez ajouté des assemblys 3.5 à une version antérieure installée.

Les chances devraient être bonnes que vous résoudrez ceci en installant simplement .NET 3.5 SP1 sur la machine.

+0

En tant que développeur ..... Je ne peux pas continuer et installer des choses sur un ordinateur client. Mon utilitaire est juste quelques contrôles pour accepter l'entrée de l'utilisateur et les ajouter dans le fichier xml. Un contrôle webbrowser affiche le fichier XML, le formatant à l'aide d'un fichier de feuille de style. Je ne m'attends pas à ce que mon utilitaire soit un paquet d'installation complet, c'est juste une interface. De meilleures suggestions plz ????? – gsvirdi

+0

Il me semble que vous avez eu des problèmes en faisant ce que vous n'étiez pas censé faire, installer des choses comme Linq sur un ordinateur client. Vous devrez arrêter d'utiliser XDocument et al si vous ne pouvez pas convaincre l'administrateur ou l'utilisateur du système de mettre à jour la version .NET de la machine. Avez-vous en fait demandé? Que faire si la machine n'a que .NET 1.1? Vous avez un Non, peut-être que vous aurez un Oui. XDocument n'est pas un vrai problème, XmlDocument fait le travail aussi. –

+0

Comment suggérez-vous de gérer de telles erreurs ?? J'avais lu la liste des exceptions disponibles sur MSDN. Mais pas de succès ..... Quelle exception dois-je utiliser pour afficher ces erreurs FrameWork sur la machine client ????? – gsvirdi

Questions connexes