【问题标题】:Changing a value in applicationSettings in MyOutlookAddin.dll.config not recognized by the code更改代码无法识别的 MyOutlookAddin.dll.config 中的 applicationSettings 中的值
【发布时间】:2011-08-28 08:52:55
【问题描述】:

我已经部署了 Outlook2007Addin,并且在测试中注意到我对 app.config 所做的更改无法识别。也就是说,我在安装目录中编辑 MyOutlookAddInName.dll.config,保存更改,然后打开 Outlook。

我的插件运行正常,只是忽略了更改的值。相反,它使用“原始”值进行操作。如何使此插件立即响应 dll.config 中的更改?

这是我的初始化代码中的一个 sn-p,我已经用调试器验证了值确实是从 app.config 中获取的:

    private string _TRIM_archiveFolderName = "TRIM Archives";
    private string _specialFolder = @"\INBOX\TRIM\";            // eg. \INBOX\TRIM makes a big difference
    private string saveAttachments = "Yes";
    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        log.Info("Application Start");
        try
        {
            _TRIM_archiveFolderName = Properties.Settings.Default.TRIM_ArchiveFolderName;
            _specialFolder = Properties.Settings.Default.TRIM_Upload_INBOX_Path;
            saveAttachments = Properties.Settings.Default.SaveAttachments;
        }
        catch (Exception ex)
        {
            log.Warn("App.Config error detected and ignored",ex);
        }

这是我的 Visual Studio 项目中 Settings.settings 文件的 XML 视图:

    <?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="CBMI.Outlook2007AddInV7.Properties" GeneratedClassName="Settings">
  <Profiles />
  <Settings>
    <Setting Name="TRIM_ArchiveFolderName" Type="System.String" Scope="Application">
      <Value Profile="(Default)">TRIM Archives</Value>
    </Setting>
    <Setting Name="TRIM_Upload_INBOX_Path" Type="System.String" Scope="Application">
      <Value Profile="(Default)">\INBOX\TRIM\</Value>
    </Setting>
    <Setting Name="SaveAttachments" Type="System.String" Scope="Application">
      <Value Profile="(Default)">Yes</Value>
    </Setting>
    <Setting Name="TRIMconnectionParms" Type="System.String" Scope="Application">
      <Value Profile="(Default)">60~GROUPER~1137</Value>
    </Setting>
  </Settings>
</SettingsFile>

这是我的 dll.config 在安装目录中的样子(在我更改它并保存更改之前):

    <?xml version="1.0"?>
<configuration>
  <configSections>
    <sectionGroup name="applicationSettings"
       type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <section name="CBMI.Outlook2007AddInV7.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
      <section name="FileServiceProxy.Properties.Settings"
          type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
          requirePermission="false" />
    </sectionGroup>
  </configSections>
  <applicationSettings>
    <CBMI.Outlook2007AddInV7.Properties.Settings>
      <setting name="TRIM_ArchiveFolderName" serializeAs="String">
        <value>TRIMArchives</value>
      </setting>
      <setting name="TRIM_Upload_INBOX_Path" serializeAs="String">
        <value>\INBOX\TRIM\</value>
      </setting>
      <setting name="SaveAttachments" serializeAs="String">
        <value>Yes</value>
      </setting>
      <setting name="TRIMconnectionParms" serializeAs="String">
        <value>60~GROUPER~1137</value>
      </setting>
    </CBMI.Outlook2007AddInV7.Properties.Settings>
    <FileServiceProxy.Properties.Settings>
      <setting name="FileServiceProxy_ASMXproxy_FileService" serializeAs="String">
        <value>http://mdwdata/sdkTrimFileServiceASMX/fileservice.asmx</value>
      </setting>
    </FileServiceProxy.Properties.Settings>
  </applicationSettings>

【问题讨论】:

    标签: visual-studio-2010 app-config outlook-addin outlook-2007 application-settings


    【解决方案1】:

    可能还有其他方法可以解决此问题。但是,我在 MSDN 上打开了这个帖子,有人通过建议 ConfigurationManager.RefreshSection 方法帮助了我。见:

    http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/d8104247-3609-42f7-8e06-71860f3f81e2

    【讨论】:

      猜你喜欢
      • 2016-08-09
      • 2012-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-25
      • 1970-01-01
      • 2013-12-18
      • 1970-01-01
      相关资源
      最近更新 更多