我的经历与弗拉德略有不同,所以我想分享一下,希望能帮助他人。在我的例子中,ActivityLog.xml 确实引用了一个文件 user.config 第 6 行。该文件有 5 行良好的数据,然后对文件的其余部分进行了垃圾处理。 user.config 位于此处:C:\Users\me\AppData\Local\Microsoft_Corporation\DefaultDomain_Url_315jocyprgycyaf1bv5fxwi31zcufzj1\15.0.18183.0\user.config
15.0.18183 用于 SSMS 18.3 我还为 SSMS 18.1 安装了 15.0.18131?无论哪种方式,15.0.18131 文件夹都有一个有效的 user.config,所以我只是用好的一个覆盖了坏的。重新启动 SSMS 18.3,一切都按预期工作。我也怀疑这就是 Jeff Dalley 在 SSMS 18.1 不工作时能够使用 SSMS 18.0 的原因。可能是因为他的 18.1 user.config 是 FUBAR 而他的 18.0 user.config 是干净的。卸载 SSMS 18.x 时也不会删除此文件,因此修复或卸载/重新安装无法解决问题。
这是完整的相关错误消息,如果 Microsoft 有人可以解决此问题,那就太棒了!
<entry>
<record>146</record>
<time>2019/10/16 13:51:21.206</time>
<type>Error</type>
<source>VisualStudio</source>
<description>LegacySitePackage failed for package [Management Studio Update Checker]Source: 'Microsoft.SqlServer.Management.UpdateChecker' Description: The type initializer for 'Microsoft.SqlServer.Management.UpdateChecker.UI.DataPackageProfile' threw an exception.
System.TypeInitializationException: The type initializer for 'Microsoft.SqlServer.Management.UpdateChecker.UI.DataPackageProfile' threw an exception. ---> System.Configuration.ConfigurationErrorsException: Configuration system failed to initialize ---> System.Configuration.ConfigurationErrorsException: '.', hexadecimal value 0x00, is an invalid character. Line 6, position 1. (C:\Users\me\AppData\Local\Microsoft_Corporation\DefaultDomain_Url_315jocyprgycyaf1bv5fxwi31zcufzj1\15.0.18183.0\user.config line 6) ---> System.Xml.XmlException: '.', hexadecimal value 0x00, is an invalid character. Line 6, position 1.
 at System.Xml.XmlTextReaderImpl.Throw(Exception e)
 at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
 at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
 at System.Xml.XmlTextReaderImpl.ParseText()
 at System.Xml.XmlTextReaderImpl.ParseElementContent()
 at System.Xml.XmlTextReaderImpl.Read()
 at System.Xml.XmlTextReader.Read()
 at System.Configuration.XmlUtil.StrictReadToNextElement(ExceptionAction action)
 at System.Configuration.BaseConfigurationRecord.ScanFactoriesRecursive(XmlUtil xmlUtil, String parentConfigKey, Hashtable factoryList)
 at System.Configuration.BaseConfigurationRecord.ScanFactoriesRecursive(XmlUtil xmlUtil, String parentConfigKey, Hashtable factoryList)
 at System.Configuration.BaseConfigurationRecord.ScanFactories(XmlUtil xmlUtil)
 at System.Configuration.BaseConfigurationRecord.InitConfigFromFile()
 --- End of inner exception stack trace ---
 at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)
 at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors)
 at System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors()
 at System.Configuration.ClientConfigurationSystem.OnConfigRemoved(Object sender, InternalConfigEventArgs e)
 --- End of inner exception stack trace ---
 at System.Configuration.ConfigurationManager.PrepareConfigSystem()
 at System.Configuration.ConfigurationManager.GetSection(String sectionName)
 at System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName)
 at System.Diagnostics.DiagnosticsConfiguration.GetConfigSection()
 at System.Diagnostics.DiagnosticsConfiguration.Initialize()
 at System.Diagnostics.DiagnosticsConfiguration.get_Sources()
 at System.Diagnostics.TraceSource.Initialize()
 at Microsoft.SqlServer.Diagnostics.STrace.STraceSource.Initialize()
 at Microsoft.SqlServer.Diagnostics.STrace.STraceSource..ctor(String name)
 at Microsoft.SqlServer.Diagnostics.STrace.STraceSourceCollection.get_Item(String sourceName)
 at Microsoft.SqlServer.Diagnostics.STrace.TraceContext.GetTraceContext(String eventSourceName, String eventContext)
 at Microsoft.SqlServer.Management.UpdateChecker.UI.DataPackageProfile..cctor()
 --- End of inner exception stack trace ---
 at Microsoft.SqlServer.Management.UpdateChecker.UI.DataPackageProfile.Initialize()
 at Microsoft.VisualStudio.Shell.Package.Microsoft.VisualStudio.Shell.Interop.IVsPackage.SetSite(IServiceProvider sp)System.Configuration.ConfigurationErrorsException: Configuration system failed to initialize ---> System.Configuration.ConfigurationErrorsException: '.', hexadecimal value 0x00, is an invalid character. Line 6, position 1. (C:\Users\me\AppData\Local\Microsoft_Corporation\DefaultDomain_Url_315jocyprgycyaf1bv5fxwi31zcufzj1\15.0.18183.0\user.config line 6) ---> System.Xml.XmlException: '.', hexadecimal value 0x00, is an invalid character. Line 6, position 1.
 at System.Xml.XmlTextReaderImpl.Throw(Exception e)
 at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
 at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
 at System.Xml.XmlTextReaderImpl.ParseText()
 at System.Xml.XmlTextReaderImpl.ParseElementContent()
 at System.Xml.XmlTextReaderImpl.Read()
 at System.Xml.XmlTextReader.Read()
 at System.Configuration.XmlUtil.StrictReadToNextElement(ExceptionAction action)
 at System.Configuration.BaseConfigurationRecord.ScanFactoriesRecursive(XmlUtil xmlUtil, String parentConfigKey, Hashtable factoryList)
 at System.Configuration.BaseConfigurationRecord.ScanFactoriesRecursive(XmlUtil xmlUtil, String parentConfigKey, Hashtable factoryList)
 at System.Configuration.BaseConfigurationRecord.ScanFactories(XmlUtil xmlUtil)
 at System.Configuration.BaseConfigurationRecord.InitConfigFromFile()
 --- End of inner exception stack trace ---
 at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)
 at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors)
 at System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors()
 at System.Configuration.ClientConfigurationSystem.OnConfigRemoved(Object sender, InternalConfigEventArgs e)
 --- End of inner exception stack trace ---
 at System.Configuration.ConfigurationManager.PrepareConfigSystem()
 at System.Configuration.ConfigurationManager.GetSection(String sectionName)
 at System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName)
 at System.Diagnostics.DiagnosticsConfiguration.GetConfigSection()
 at System.Diagnostics.DiagnosticsConfiguration.Initialize()
 at System.Diagnostics.DiagnosticsConfiguration.get_Sources()
 at System.Diagnostics.TraceSource.Initialize()
 at Microsoft.SqlServer.Diagnostics.STrace.STraceSource.Initialize()
 at Microsoft.SqlServer.Diagnostics.STrace.STraceSource..ctor(String name)
 at Microsoft.SqlServer.Diagnostics.STrace.STraceSourceCollection.get_Item(String sourceName)
 at Microsoft.SqlServer.Diagnostics.STrace.TraceContext.GetTraceContext(String eventSourceName, String eventContext)
 at Microsoft.SqlServer.Management.UpdateChecker.UI.DataPackageProfile..cctor()System.Configuration.ConfigurationErrorsException: '.', hexadecimal value 0x00, is an invalid character. Line 6, position 1. (C:\Users\me\AppData\Local\Microsoft_Corporation\DefaultDomain_Url_315jocyprgycyaf1bv5fxwi31zcufzj1\15.0.18183.0\user.config line 6) ---> System.Xml.XmlException: '.', hexadecimal value 0x00, is an invalid character. Line 6, position 1.
 at System.Xml.XmlTextReaderImpl.Throw(Exception e)
 at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
 at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
 at System.Xml.XmlTextReaderImpl.ParseText()
 at System.Xml.XmlTextReaderImpl.ParseElementContent()
 at System.Xml.XmlTextReaderImpl.Read()
 at System.Xml.XmlTextReader.Read()
 at System.Configuration.XmlUtil.StrictReadToNextElement(ExceptionAction action)
 at System.Configuration.BaseConfigurationRecord.ScanFactoriesRecursive(XmlUtil xmlUtil, String parentConfigKey, Hashtable factoryList)
 at System.Configuration.BaseConfigurationRecord.ScanFactoriesRecursive(XmlUtil xmlUtil, String parentConfigKey, Hashtable factoryList)
 at System.Configuration.BaseConfigurationRecord.ScanFactories(XmlUtil xmlUtil)
 at System.Configuration.BaseConfigurationRecord.InitConfigFromFile()
 --- End of inner exception stack trace ---
 at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)
 at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors)
 at System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors()
 at System.Configuration.ClientConfigurationSystem.OnConfigRemoved(Object sender, InternalConfigEventArgs e)System.Xml.XmlException: '.', hexadecimal value 0x00, is an invalid character. Line 6, position 1.
 at System.Xml.XmlTextReaderImpl.Throw(Exception e)
 at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
 at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
 at System.Xml.XmlTextReaderImpl.ParseText()
 at System.Xml.XmlTextReaderImpl.ParseElementContent()
 at System.Xml.XmlTextReaderImpl.Read()
 at System.Xml.XmlTextReader.Read()
 at System.Configuration.XmlUtil.StrictReadToNextElement(ExceptionAction action)
 at System.Configuration.BaseConfigurationRecord.ScanFactoriesRecursive(XmlUtil xmlUtil, String parentConfigKey, Hashtable factoryList)
 at System.Configuration.BaseConfigurationRecord.ScanFactoriesRecursive(XmlUtil xmlUtil, String parentConfigKey, Hashtable factoryList)
 at System.Configuration.BaseConfigurationRecord.ScanFactories(XmlUtil xmlUtil)
 at System.Configuration.BaseConfigurationRecord.InitConfigFromFile()</description>
<guid>{A370BC08-51DD-4F09-8386-8F31E8704796}</guid>
<hr>80131534</hr>
<errorinfo></errorinfo>