在运行时无法识别对vstoadd .dll.config的更改

本文关键字:config dll vstoadd 运行时 识别 | 更新日期: 2023-09-27 18:10:13

我想更好地理解vstoadd .dll.config文件在VSTO中的工作方式。

我不明白为什么我不能使用记事本编辑配置文件,并在下次运行外接程序时反映这些更改(类似于以下文章)。

我已经成功地找到并手动编辑我的用户设置配置文件。但不能对应用程序设置配置文件做同样的事情。为什么?

我理解应该在vs中通过代码或在设计时进行更改。

帮助吗? ! ?

http://social.msdn.microsoft.com/forums/vstudio/en us/d8104247 - 3609 - 42 - f7 - 8 e06 - 71860 - f3f81e2/changes - - outlookaddindllconfig不承认——在运行时- -如何响应like?forum=vsto

——编辑——

谢谢PetLahev,我实际上正在做一些不同的事情。我有三个VSTO添加,它们都引用一个公共程序集。这些设置与公共程序集相关联。

允许吗?我注意到程序集实际上是从%appdata%'local'assembly..

但即使我移动我的ClassLibrary1.dll。配置文件到%appdata%'local'assembly..我不能通过记事本更改它,并看到修改反映在我的应用程序。

在运行时无法识别对vstoadd .dll.config的更改

不知道你用的是哪个软件,我试过Excel,它很简单

我的app.config看起来像

    <?xml version="1.0"?>
<configuration>
    <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
            <section name="ConfigSettingTest.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
        </sectionGroup>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
            <section name="ConfigSettingTest.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
        </sectionGroup>
    </configSections>
    <userSettings>
        <ConfigSettingTest.Properties.Settings>
            <setting name="MyUserSettings" serializeAs="String">
                <value>My user settings</value>
            </setting>
        </ConfigSettingTest.Properties.Settings>
    </userSettings>
    <applicationSettings>
        <ConfigSettingTest.Properties.Settings>
            <setting name="MyAppSettings" serializeAs="String">
                <value>My Application settings</value>
            </setting>
        </ConfigSettingTest.Properties.Settings>
    </applicationSettings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

和读取userSettings和applicationSettings的代码就像这样简单

 public static void test()
        {
            System.Windows.Forms.MessageBox.Show(Properties.Settings.Default.MyUserSettings);
            System.Windows.Forms.MessageBox.Show(Properties.Settings.Default.MyAppSettings);
        }

如果我进入bin文件夹用记事本修改值,然后运行Excel,我会得到修改后的值

最后使用了本文第三部分所描述的自定义部分http://www.codeproject.com/Articles/16466/Unraveling-the-Mysteries-of-NET-Configuration