如何从两个单独的项目(.csproj文件)中引用app.config?

时间:2016-09-21 17:37:20

标签: c# app-config

我的应用程序中有两个.csproj文件,它们都生成一个.exe,并且都有需要来自app.config的值的C#程序。所以,因为只有一个app.config文件(它们构建在同一个文件夹中)我以为我只是把第二个程序(让我们称之为b.cs / b.exe)的值放在应用程序中第一个程序的.csproj的.config(a.cs / a.exe)。但第二个程序似乎无法访问app.config。它存在并且值存在但是当我运行字符串x = ConfigurationManager.AppSettings [“BuildVersion”];时,x始终为空。如果我从a.exe运行相同的代码,它工作正常。这就像app.config有一些嵌入.exe文件中的信息,我无法在任何地方看到或设置。

如何从两个独立的项目中访问anapp.config中的值?

4 个答案:

答案 0 :(得分:3)

您可以将app.config保留在一个项目中,但可以将其添加为另一个项目中的链接(虚拟)文件。来自此处的说明Including content files in .csproj that are outside the project cone

  • 右键点击VS中的项目。
  • 添加 - >现有项目......
  • 找到该文件。
  • 选择它,
  • 添加为链接(在对话框的“添加”按钮中下拉)。

答案 1 :(得分:1)

您是否尝试过添加关联商品

将app.config放在一个公共位置,然后右键单击每个项目以选择添加 - > 现有项目。选择文件并单击添加按钮上的箭头,然后选择添加为链接

Share code with Add as Link

答案 2 :(得分:0)

您可以使用app.config appSettings节点中的file参数将其指向您需要的其他应用程序配置设置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup>
    </startup>
    <appSettings file="C:\MasterConfig.config">
        <add key="applicationMode" value="Dev"/>
        <add key="ServiceInterval" value="02:00:00"/>
    </appSettings>
</configuration>

然后像平常一样参考你需要的物品。

答案 3 :(得分:0)

添加链接工作,但我需要将b.exe.config文件复制到输出目录。我猜这个文件除了a.exe.config之外还生成了它们,它们只是根据添加的链接相互复制。

相关问题