同一解决方案中的项目之间共享的JSON配置文件

时间:2019-03-20 03:13:23

标签: c# asp.net-mvc

我正在编写一个由3个项目组成的网络应用。 ASP.net MVC5网站,一个Windows服务,运行用户使用该网站安排的作业,然后运行其他两个项目引用的类库。我有一个类库引用的JSON配置文件。它包含有关作业应如何运行的数据。我想将其包含在我的源代码管理中,并且希望它是JSON,以便使用该应用程序的同事可以轻松更改它,而无需重新编译解决方案。只有类库需要访问json文件-其他两个项目引用了该类库,因此它们本质上是通过访问类库中的类来引用json文件中的设置。

我的问题是,我正在像这样的类库类中引用json配置文件路径:AppDomain.CurrentDomain.BaseDirectory + "config.json" 但是,当Web服务器从类库实例化一个类时,路径将解析Web服务器的基本目录而不是类库,这并不奇怪。

什么是最好的方法?我可以将配置文件永久保留在webapp项目中,然后在Windows服务项目中拥有指向配置文件的链接吗?不确定在部署解决方案后如何工作?

Web项目是.NET标准MVC5。对于XML而言,JSON比配置文件类型更喜欢XML。

1 个答案:

答案 0 :(得分:0)

我已经对其进行了测试,以确保能够正常工作:

如果文件在类库项目中,则可以转到解决方案资源管理器,右键单击它,然后单击>属性,然后在窗口中查找copy to output directory。将其设置为Alwaysonly if newer,这是您认为最好的,并且应将其复制到引用类库的项目的bin文件夹中。