解决方案中的项目之间如何共享单个配置?

杰克·安德鲁·麦凯

我在Visual Studio中有一个包含3个项目的解决方案(S),我将它们称为CL,WPF和CFG。

  • S.CL是用于控制台应用程序的项目。
  • S.WPF是WPF应用程序的项目。
  • S.CFG是一个包含配置文件的项目。

我创建了一个具有用户范围和公众可见性的设置文件。这两个项目都使用相同的设置。

S.CL仅需要读取这些设置。S.WPF是用于编辑这些设置的表格,因此需要读写。它包含一个连接到事件处理程序的保存按钮。

S.CFG app.config:

<?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="S.CFG.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <userSettings>
        <S.CFG.Properties.Settings>
            <setting name="ExampleSetting" serializeAs="String">
                <value>ExampleValue</value>
            </setting>
        </S.CFG.Properties.Settings>
    </userSettings>
</configuration>

S.CL Execute.cs:

namespace S.CL
{
    public class Execute
    {
        public static void Main(String[] args)
        {
            Console.WriteLine(S.CFG.Properties.Settings.Default.ExampleSetting);
        }
    }
}

S.WPF MainWindow.xaml.cs:

namespace S.WPF
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void button_Click(object sender, RoutedEventArgs e)
        {
            S.CFG.Properties.Settings.Default.ExampleSetting = "New value";
            Console.WriteLine(S.CFG.Properties.Settings.Default.ExampleSetting);
        }
    }
}

因此,重现步骤:

Run S.CL out> ExampleValue
Run S.WPF out> New value
Run S.CL out> ExampleValue

在S.CL的最后一次运行中,输出应为“新值”。

我可以确认S.WPF每次运行也都获得了最新的值。在我的完整应用程序中,在单击“保存”之前,该表单在文本框中显示最新值。

到目前为止,我已经设法找出S.WPF在用户的AppData文件夹中使用此新的app.config创建了一个文件夹。S.CL使用它的默认配置的内置副本,而S.WPF使用它的默认配置的内置副本,直到写入为止,然后在其中创建该可执行文件可以访问的本地副本

我只希望能够在这两个可执行文件之间保留这些设置。我考虑过其他方法,另一种方法是将设置的XML文件保留在两个可执行文件的根目录中,然后仅解析该文件,但我宁愿使用Visual Studio的app.config / Settings.Settings功能来执行此操作(如果可能的话)。

提前致谢!

里科·赫尔特

您可以在解决方案中有一个app.config文件,而不是将app.config文件添加到每个项目中,然后将此文件链接到两个项目,如此处所述:使用“添加为链接”共享代码

编辑:

如果你希望能够加载外部的app.config,你可以检查遵循的说明这个帖子,

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在解决方案中的项目之间共享PartialView?

来自分类Dev

在解决方案中的项目之间共享PartialView?

来自分类Dev

在解决方案和源代码控制之间共享项目

来自分类Dev

在单个解决方案中,如何在DNX / ASP.NET 5项目(project.json / xproj)和其他C#项目(csproj)之间共享代码,我有哪些选择?

来自分类Dev

如何在同一解决方案下的两个项目之间共享数据

来自分类Dev

在1个解决方案中的多个项目之间共享资源。Visual Studio 2010

来自分类Dev

VC ++ 2010-将配置添加到解决方案中的单个项目失败

来自分类Dev

如何在具有其他项目的解决方案中编译单个项目?

来自分类Dev

在单个解决方案中调试多个项目

来自分类Dev

单个解决方案中的多个MVC项目

来自分类Dev

在解决方案中为单个项目禁用NuGet BuildPackage

来自分类Dev

在单个解决方案中调试多个项目

来自分类Dev

在解决方案中为单个项目禁用NuGet BuildPackage

来自分类Dev

如何在一个.NET解决方案中的各个项目之间进行通信?

来自分类Dev

VC ++ 2010-将配置添加到解决方案中的单个项目无法生成

来自分类Dev

在同一解决方案的多个项目之间共享Razor视图

来自分类Dev

如何从解决方案中引用项目?

来自分类Dev

如何运行相同解决方案中的项目?

来自分类Dev

如何运行相同解决方案中的项目?

来自分类Dev

如何在C ++中设置多项目解决方案?

来自分类Dev

如何在Visual Studio 2012的一种解决方案中跨项目共享图像文件?

来自分类Dev

如何使我的解决方案中的所有项目在共享 assemblyVersion 上具有相同的产品版本?

来自分类Dev

在解决方案的多个项目中引用共享项目

来自分类Dev

将单个项目拆分为多个项目解决方案

来自分类Dev

如何修改解决方案/项目对象?

来自分类Dev

无法在解决方案中调试项目

来自分类Dev

在x86平台的解决方案中编译共享项目

来自分类Dev

如何部署具有多个项目的单个解决方案?

来自分类Dev

多个解决方案之间共享的app.xaml

Related 相关文章

  1. 1

    在解决方案中的项目之间共享PartialView?

  2. 2

    在解决方案中的项目之间共享PartialView?

  3. 3

    在解决方案和源代码控制之间共享项目

  4. 4

    在单个解决方案中,如何在DNX / ASP.NET 5项目(project.json / xproj)和其他C#项目(csproj)之间共享代码,我有哪些选择?

  5. 5

    如何在同一解决方案下的两个项目之间共享数据

  6. 6

    在1个解决方案中的多个项目之间共享资源。Visual Studio 2010

  7. 7

    VC ++ 2010-将配置添加到解决方案中的单个项目失败

  8. 8

    如何在具有其他项目的解决方案中编译单个项目?

  9. 9

    在单个解决方案中调试多个项目

  10. 10

    单个解决方案中的多个MVC项目

  11. 11

    在解决方案中为单个项目禁用NuGet BuildPackage

  12. 12

    在单个解决方案中调试多个项目

  13. 13

    在解决方案中为单个项目禁用NuGet BuildPackage

  14. 14

    如何在一个.NET解决方案中的各个项目之间进行通信?

  15. 15

    VC ++ 2010-将配置添加到解决方案中的单个项目无法生成

  16. 16

    在同一解决方案的多个项目之间共享Razor视图

  17. 17

    如何从解决方案中引用项目?

  18. 18

    如何运行相同解决方案中的项目?

  19. 19

    如何运行相同解决方案中的项目?

  20. 20

    如何在C ++中设置多项目解决方案?

  21. 21

    如何在Visual Studio 2012的一种解决方案中跨项目共享图像文件?

  22. 22

    如何使我的解决方案中的所有项目在共享 assemblyVersion 上具有相同的产品版本?

  23. 23

    在解决方案的多个项目中引用共享项目

  24. 24

    将单个项目拆分为多个项目解决方案

  25. 25

    如何修改解决方案/项目对象?

  26. 26

    无法在解决方案中调试项目

  27. 27

    在x86平台的解决方案中编译共享项目

  28. 28

    如何部署具有多个项目的单个解决方案?

  29. 29

    多个解决方案之间共享的app.xaml

热门标签

归档