【发布时间】:2017-04-21 12:49:50
【问题描述】:
我正在构建一个 DotNet Core 控制台应用程序。我注意到,当我将应用程序发布到文件系统时,appsettings.json 文件不包含在输出文件中。
我发现更改 appsettings 上的复制选项可以使其显示,但默认情况下不会。
appsettings 不应该作为单独的文件包含在控制台应用程序中,以便您可以动态配置应用程序吗?
【问题讨论】:
-
appsettings.json是一个 json 文件,仅此而已。所以手动设置Build action和Copy to output directory操作是可以的。 -
似乎添加的任何 JSON 文件的默认操作都是“请勿复制”,无论名称如何......
-
.csproj应具有以下内容:<ItemGroup><Content Include="appsettings.json;appsettings.development.json"><CopyToPublishDirectory Condition="Exists(%(Identity))">PreserveNewest</CopyToPublishDirectory></Content></ItemGroup> -
我想知道其他人如何处理这个问题?我的意思是其他人不编写控制台应用程序并且他们不需要设置吗?我总是想知道其他人每天都在发展的生活。
-
嗯,一些(如果不是大多数)设置将是特定于环境的,因此不应与应用程序一起部署。很多情况下,config的存放位置是完全不同的(通常在dev中有json文件,prod中有env变量)。
标签: console-application .net-core