inputstring的格式不正确。 mscorlib

我遇到了一个奇怪的问题,我的第三方软件运行在Vista Business上。 我有一个用户在用本地用户凭据login时,使用该第三方软件的任何人都会得到这样的错误:

Error Report generated on 7/2/2012 9:46:57 AM ======================================================================================= Product Version : 9.2.1.0 OS : Microsoft Windows NT 6.0.6002 Service Pack 2 Environment Variables : ======================= Path : C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem TEMP : C:\Users\xxxxxx\AppData\Local\Temp SESSIONNAME : Console PATHEXT : .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC USERDOMAIN : xxxxxxxx PROCESSOR_ARCHITECTURE : x86 SystemDrive : C: TRACE_FORMAT_SEARCH_PATH : \\NTREL202.ntdev.corp.microsoft.com\4F18C3A5-CA09-4DBD-B6FC-219FDD4C6BE0\TraceFormat APPDATA : C:\Users\xxxxxxx\AppData\Roaming windir : C:\Windows LOCALAPPDATA : C:\Users\xxxxxxx\AppData\Local TMP : C:\Users\xxxxx\AppData\Local\Temp USERDNSDOMAIN : xxxxxxx.LOCAL USERPROFILE : C:\Users\xxxxxx ProgramFiles : C:\Program Files FP_NO_HOST_CHECK : NO HOMEPATH : \ COMPUTERNAME : xx-xxxx-x HOMESHARE : \\server\home\xxxxxxxx ProgramData : C:\ProgramData NUMBER_OF_PROCESSORS : 1 PROCESSOR_IDENTIFIER : x86 Family 15 Model 127 Stepping 2, AuthenticAMD USERNAME : xxxxxxx SystemRoot : C:\Windows ComSpec : C:\Windows\system32\cmd.exe LOGONSERVER : \\server DFSTRACINGON : FALSE CommonProgramFiles : C:\Program Files\Common Files PROCESSOR_LEVEL : 15 PROCESSOR_REVISION : 7f02 ALLUSERSPROFILE : C:\ProgramData PUBLIC : C:\Users\Public OS : Windows_NT HOMEDRIVE : H: ======================= Machine Name : xx-xxxx-x User Domain : xxxxxxxx User : xxxxxxx .NET Version : 2.0.50727.4016 Memory : 41291776 Error Details ============= Input string was not in a correct format. mscorlib Stack Trace =========== at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) at Thermo.SampleManager.Client.ExplorerApplicationService.LoadSettings() at Thermo.SampleManager.Client.ExplorerApplicationService.Setup(IClientApplicationServiceSite site) at Thermo.Framework.Client.ClientApplicationServiceCache.AddService(String serviceName, Type serviceType, IClientApplicationService service) at Thermo.Framework.Client.ClientApplication.GetService(Type serviceType) at Thermo.Framework.Client.ClientApplication.HandleApplicationServiceMessage(ApplicationServiceMessage message) at Thermo.Framework.Client.ClientApplication.TransportMessageReceived(Object sender, MessageEventArgs e) at Thermo.Framework.Core.Transport.OnMessageReceived(Message message) at Thermo.Framework.Core.Transport.ConversationMessageReceived(Object sender, MessageEventArgs e) at Thermo.Framework.Core.Conversation.OnMessageReceived(Message message) at Thermo.Framework.Core.Conversation.HandleBundle(Bundle bundle) ============================================================ 

现在,如果我在本地login,到同一台PC,我不会得到那个错误,那个用户也没有。 我也应该提到我有pipe理员权限。

这是我迄今为止所做的:

  1. 删除本地configuration文件并重新添加
  2. 卸载并重新安装软件
  3. 试图注销并重新注册所有.net相关目录中的mscorlib.dll

正如我前面所说,客户端运行在Vista Business上,软件的后端驻留在虚拟化的Windows Server 2003上。

有什么build议么? 请帮忙!

mscorlib显然不是问题,它是.Net的核心,所以大多数错误最终会追溯到它,即使它们实际上是源于第三方的代码。 在这种情况下,它明确地告诉你,错误是在Thermo.Framework,尝试parsing一个string,不能被分析成一个整数(可能是一个空string,如果它无法获得正确的值),而不打扰愚蠢像error handling一些小东西。 如果他们仍然生活在一个每个人都是pipe理员的世界里,那么他们就落后于时代,你需要告诉他们修正他们的错误。

我看到你也被build议在你之前的问题中这样做。

但是有一些方法你可以找出它失败的地方。 从procmon开始searchDENIED,一半时间你会看到你需要更改权限。 如果这样做不能解决问题,那么可以用windbg (使用gflags,windbg的一部分,以excel开头)更深入地实际捕获exception,看看发生了什么,但是这非常复杂为退伍军人。

认真地说,让他们修复他们的错误,这会为你节省很多时间。