launchsettings.json和appsettings.json以及web.config

new*_*per 17 octopus-deploy asp.net-core

我有几个困惑:

1)我发布了asp.net核心项目,我没有在bin\Release\PublishOutput中看到launchsettings.json,如果我使用Octopus然后如何根据服务器类型配置属性?

2)是否可以将launchsettings.json移动到根文件夹而不是属性?

3)如果我只想使用一个像appsettings.json这样的json,我可以在根文件夹中合并吗?

4)可以使用web.config而不是launchsettings.json,怎么样?

谢谢你的时间 :)

Ign*_*nas 17

您的问题的答案:

  1. 正如Chris Pratt在评论中提到的,launchSettings.json仅供Visual Studio使用.您可以在八达通中使用八达通变量.
  2. 不需要launchSettings.json发布应用程序.
  3. 如果您的应用程序需要使用某些设置,请将其存储在appsettings.json.这将使部署更容易,因为Octopus默认识别此文件.
  4. 这取决于您的要求.web.config由IIS使用,而不是由您的.NET Core应用程序直接使用,因此可能会应用IIS可以配置的限制.

提示.

  • 如果您有一些特定于环境的变量,则可以将它们存储在特定环境中appsettings.json,例如appsettings.Release.json.
  • 您可以在appsettings.json文件中留下占位符以进行Octopus变量替换,尤其是在特定于环境的变量中,例如appsettings.Release.json可能包含"#{ConnectionString}"之类的配置值,在部署期间,Octopus会将此占位符替换为Octopus变量的实际值.

  • 如果“launchSettings.json 仅由 Visual Studio 使用”,为什么“dotnet watch run --launch-profile "someprofile in launchsettings.json" 有效”? (2认同)
  • 这个答案需要写成一篇博客文章 (2认同)