问题:在我的开发机器上,一切正常。但是,当我将可执行文件复制到服务器时,我的程序没有启动
到目前为止我做了什么:我检查了事件查看器,错误堆栈如下所示:
Application: Project.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.Configuration.ConfigurationErrorsException Stack: at System.Configuration.ClientConfigurationSystem.EnsureInit(System.String) at System.Configuration.ClientConfigurationSystem.PrepareClientConfigSystem(System.String) at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(System.String) at System.Configuration.ConfigurationManager.GetSection(System.String) at System.Configuration.ConfigurationManager.get_ConnectionStrings() at Project.BaseService..ctor() at Project.Service..ctor() at Project.Program.Main()
我在网上查了一下,大多数情况下,这个错误是由.config文件中的一些错误的configSections产生的。为了确保不是这种情况,我让app.config和.exe.config文件都清理干净(只有部分在那里),但我的程序仍然没有工作。
然后,我从失败的进程中生成了一个转储文件,这就是事情变得奇怪的地方:当我调用ConfigurationManager.ConctionStrings时,引发的异常是"配置系统无法初始化" ,"'添加'第257行的开始标记位置6与“连接管理”的结束标记不匹配。第258行,第3位。"内在的例外。我仔细检查了我的整个项目,并且没有一个引用" connectionManagement"任何地方!我甚至尝试检查AppDomain.CurrentDomain.SetupInformation.ConfigurationFile的值,它表示正确的配置文件。
通过修复此连接管理问题我可能能够运行我的应用程序,但你们有没有想过这可能来自何处?
答案 0 :(得分:0)
问题出现在服务器上的machine.config文件中。改变它解决了问题!