我正在尝试引用 Windows 服务和 ASP.NET MVC 网站之间的一些常见配置设置。我通过在 App.config 或 Web.config (分别)中使用 appSettings 上的文件属性来做到这一点。被引用的文件(名为 common.config)是同一解决方案中单独项目中的链接文件。在两个项目 中,common.config 都设置为Content with Copy Always 。
This stack answer to a similiar question似乎暗示至少对于 configSource 这个解决方案是可行的。我不想要 configSource ,因为我只想要两个项目中通用的少数属性。更新:我刚试过这个, configSource 也不起作用。它找不到配置文件。这让我相信 common.config 并不总是被视为带有副本的内容。
示例 App.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings file="common.config">
<add key="NotCommonKey" value="1"/>
</appSettings>
</configuration>
示例 Web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings file="common.config">
<add key="NotCommonKey2" value="2" />
</appSettings>
</configuration>
示例 common.config(内容 -> 始终复制)
<appSettings>
<add key="CommonKey" value="1" />
</appSettings>
我正在使用从AppSettings属性读取的ConfigurationManager / WebConfigurationManager 。
任何想法为什么当 common.config 是一个链接文件时,它的 AppSettings 值没有被使用,当它没有被链接时它正常工作?
谢谢!