使用 VS2019 / .Net Core 3.1 的 "Produce single file" 发布选项时,是否可以保持 appsettings.json 可编辑 post-部署?
Is it possible to keep appsettings.json editable post-deployment when using the "Produce single file" publish option for VS2019 / .Net Core 3.1?
我有一个简单的控制台应用程序,需要从 appsettings.json
加载其配置。我使用 "Produce single file" 选项从 VS2019 发布。
发布的默认行为是将 appsettings.json
放置在单个文件中。这对我不利,因为我希望能够在将要部署的 Linux 服务器上就地编辑配置文件。
可以通过在项目文件中的条目中添加一个选项来从捆绑文件中排除 appsettings.json
- <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
效果很好并导致 VS2019 发布 appsettings.json 文件二进制文件。
然而...
当我 运行 二进制文件(来自 /opt/MyApp/MyApp
),并记录它试图加载的位置时 appsettings.json
,我看到:
Loading settings from /var/tmp/.net/MyApp/jq1u11uk.4ap/appsettings.json
所以我编辑的 /opt/MyApp/appsettings.json
被忽略了。
在使用此发布选项时,是否有一些预期的方法可以保持 appsettings.json
可编辑?
(这个问题也在 How to handle Appsettings for .net core 3.1 self contained single file publish 上被问到,但从未以解决能够就地编辑文件的方式得到回答。)
原来这个问题已经在其他地方解决了 - 在遵循这个答案后现在运行良好:
我有一个简单的控制台应用程序,需要从 appsettings.json
加载其配置。我使用 "Produce single file" 选项从 VS2019 发布。
发布的默认行为是将 appsettings.json
放置在单个文件中。这对我不利,因为我希望能够在将要部署的 Linux 服务器上就地编辑配置文件。
可以通过在项目文件中的条目中添加一个选项来从捆绑文件中排除 appsettings.json
- <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
效果很好并导致 VS2019 发布 appsettings.json 文件二进制文件。
然而...
当我 运行 二进制文件(来自 /opt/MyApp/MyApp
),并记录它试图加载的位置时 appsettings.json
,我看到:
Loading settings from /var/tmp/.net/MyApp/jq1u11uk.4ap/appsettings.json
所以我编辑的 /opt/MyApp/appsettings.json
被忽略了。
在使用此发布选项时,是否有一些预期的方法可以保持 appsettings.json
可编辑?
(这个问题也在 How to handle Appsettings for .net core 3.1 self contained single file publish 上被问到,但从未以解决能够就地编辑文件的方式得到回答。)
原来这个问题已经在其他地方解决了 - 在遵循这个答案后现在运行良好: