所以,我的项目工作正常。但是,在我清理并重建它之后,配置管理器停止工作。实际上,在调试时,我可以看到ConfigurationManager.AppSettings
没有条目,在它有四个之前。
我猜测配置管理器没有查找它应该查找的文件,这很可能在清理过程中被删除了。有没有办法知道它在哪里搜索配置条目?
编辑:所以,我看了一下Procmon,它似乎正在搜索正确的配置文件,在与可执行文件相同的文件夹中。该文件如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="Subtitle_Synchronizer.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<Subtitle_Synchronizer.Properties.Settings>
<setting name="AegisubPath" serializeAs="String">
<value />
</setting>
<setting name="CheckActors" serializeAs="String">
<value>False</value>
</setting>
<setting name="PostProcessSubs" serializeAs="String">
<value>False</value>
</setting>
<setting name="WorkingFolderPath" serializeAs="String">
<value>c:\</value>
</setting>
</Subtitle_Synchronizer.Properties.Settings>
</userSettings>
</configuration>
答案 0 :(得分:0)
所以,我有点解决了它,虽然它没有任何意义。如果我在没有调试的情况下运行,它会给出异常。但在那之后,问题就“解决了”,并且配置管理器正常工作。如果我重建解决方案,问题又会出现,但是再次使用该方法解决了。地狱。
编辑:想出更多。因此,似乎在没有调试的情况下运行时抛出异常后配置文件重新生成。它将以下内容添加到配置文件中:
<appSettings>
<add key="CheckActors" value="False" />
<add key="PostProcessSubs" value="False" />
<add key="WorkingFolderPath" value="Not Found" />
</appSettings>