我在我的Debian amd64 jessie版本上安装了Mono和Monodevelop,我只能使用提升的权限运行monodevelop。
从UI startesque菜单启动monodevelop导致没有任何事情发生。从shell启动monodevelop会导致以下错误:
未处理的例外情况: System.TypeInitializationException:MonoDevelop.Core.LoggingService的类型初始化程序抛出异常---> System.Configuration.ConfigurationErrorsException:错误初始化配置系统。 ---> System.Configuration.ConfigurationErrorsException:无法识别的配置部分(/usr/lib/monodevelop/bin/MonoDevelop.exe.config第3行) 在System.Configuration.ConfigInfo.ThrowException(System.String text,System.Xml.XmlReader reader)[0x00000] in:0 在System.Configuration.SectionGroupInfo.ReadContent(System.Xml.XmlReader reader,System.Configuration.Configuration config,Boolean overrideAllowed,Boolean root)[0x00000] in:0 在System.Configuration.SectionGroupInfo.ReadRootData(System.Xml.XmlReader reader,System.Configuration.Configuration config,Boolean overrideAllowed)[0x00000] in:0 在System.Configuration.Configuration.ReadConfigFile(System.Xml.XmlReader reader,System.String fileName)[0x00000] in:0 在System.Configuration.Configuration.Load()[0x00000]中:0 在System.Configuration.Configuration.Init(IConfigSystem系统,System.String configPath,System.Configuration.Configuration parent)[0x00000] in:0 在System.Configuration.Configuration..ctor(System.Configuration.InternalConfigurationSystem system,System.String locationSubPath)[0x00000] in:0 在System.Configuration.InternalConfigurationFactory.Create(System.Type typeConfigHost,System.Object [] hostInitConfigurationParams)[0x00000] in:0 在System.Configuration.ConfigurationManager.OpenExeConfigurationInternal(ConfigurationUserLevel userLevel,System.Reflection.Assembly calling_assembly,System.String exePath)[0x00000] in:0 在System.Configuration.ClientConfigurationSystem.get_Configuration()[0x00000]中:0 ---内部异常堆栈跟踪结束--- 在System.Configuration.ClientConfigurationSystem.get_Configuration()[0x00000]中:0 在System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(System.String configKey)[0x00000] in:0 在System.Configuration.ConfigurationManager.GetSection(System.String sectionName)[0x00000] in:0 在System.Configuration.ConfigurationSettings.GetConfig(System.String sectionName)[0x00000] in:0 在System.Diagnostics.DiagnosticsConfiguration.get_Settings()[0x00000]中:0 在System.Diagnostics.TraceImpl.InitOnce()[0x00000]中:0 在System.Diagnostics.TraceImpl.get_Listeners()[0x00000]中:0 在System.Diagnostics.Debug.get_Listeners()[0x00000]中:0 在MonoDevelop.Core.LoggingService..cctor()[0x00000]中:0 ---内部异常堆栈跟踪结束--- 在MonoDevelop.Ide.IdeStartup.Main(System.String [] args,MonoDevelop.Ide.Extensions.IdeCustomizer customizer)[0x00000] in:0 在MonoDevelop.Startup.MonoDevelopMain.Main(System.String [] args)[0x00000] in:0 [错误]致命的未处理的异常:System.TypeInitializationException:MonoDevelop.Core.LoggingService的类型初始化程序抛出异常---> System.Configuration.ConfigurationErrorsException:错误初始化配置系统。 ---> System.Configuration.ConfigurationErrorsException:无法识别的配置部分(/usr/lib/monodevelop/bin/MonoDevelop.exe.config第3行) 在System.Configuration.ConfigInfo.ThrowException(System.String text,System.Xml.XmlReader reader)[0x00000] in:0 在System.Configuration.SectionGroupInfo.ReadContent(System.Xml.XmlReader reader,System.Configuration.Configuration config,Boolean overrideAllowed,Boolean root)[0x00000] in:0 在System.Configuration.SectionGroupInfo.ReadRootData(System.Xml.XmlReader reader,System.Configuration.Configuration config,Boolean overrideAllowed)[0x00000] in:0 在System.Configuration.Configuration.ReadConfigFile(System.Xml.XmlReader reader,System.String fileName)[0x00000] in:0 在System.Configuration.Configuration.Load()[0x00000]中:0 在System.Configuration.Configuration.Init(IConfigSystem系统,System.String configPath,System.Configuration.Configuration parent)[0x00000] in:0 在System.Configuration.Configuration..ctor(System.Configuration.InternalConfigurationSystem system,System.String locationSubPath)[0x00000] in:0 在System.Configuration.InternalConfigurationFactory.Create(System.Type typeConfigHost,System.Object [] hostInitConfigurationParams)[0x00000] in:0 在System.Configuration.ConfigurationManager.OpenExeConfigurationInternal(ConfigurationUserLevel userLevel,System.Reflection.Assembly calling_assembly,System.String exePath)[0x00000] in:0 在System.Configuration.ClientConfigurationSystem.get_Configuration()[0x00000]中:0 ---内部异常堆栈跟踪结束--- 在System.Configuration.ClientConfigurationSystem.get_Configuration()[0x00000]中:0 在System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(System.String configKey)[0x00000] in:0 在System.Configuration.ConfigurationManager.GetSection(System.String sectionName)[0x00000] in:0 在System.Configuration.ConfigurationSettings.GetConfig(System.String sectionName)[0x00000] in:0 在System.Diagnostics.DiagnosticsConfiguration.get_Settings()[0x00000]中:0 在System.Diagnostics.TraceImpl.InitOnce()[0x00000]中:0 在System.Diagnostics.TraceImpl.get_Listeners()[0x00000]中:0 在System.Diagnostics.Debug.get_Listeners()[0x00000]中:0 在MonoDevelop.Core.LoggingService..cctor()[0x00000]中:0 ---内部异常堆栈跟踪结束--- 在MonoDevelop.Ide.IdeStartup.Main(System.String [] args,MonoDevelop.Ide.Extensions.IdeCustomizer customizer)[0x00000] in:0
使用 sudo monodevelop 从shell运行monodevelop运行绝对正常。我清除了所有(我的意思是全部)单声道包并重新安装,但错误仍然存在。我安装的软件包来自单个软件包存储库,如here所示。
这似乎是一个权限问题,但我不能为我的生活找出可能导致此问题的文件夹或文件。我花了最近两天的时间试图解决这个问题并完全无处可去,所以如果有人有任何想法或者之前遇到过这个问题,我很乐意听到它。
谢谢, 麦克
答案 0 :(得分:4)
使用strace查找权限错误。通常,当程序只能以root身份运行时,这意味着某些文件无法访问,除非root。
strace monodevelop
我自己也有同样的问题。我做了
strace monodevelop > user.txt
sudo strace monodevelop > root.txt
diff user.txt root.txt > diff.txt
然后我搜索了有问题的文件。
最后这实际上并没有帮助我。我最终卸载了,并重新安装了单声道,以及与之相关的一切。希望任何一种解决方案都能提供帮助。