Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何保持git存储库的环境设置_C#_.net_Environment Variables_Development Environment - Fatal编程技术网

C# 如何保持git存储库的环境设置

C# 如何保持git存储库的环境设置,c#,.net,environment-variables,development-environment,C#,.net,Environment Variables,Development Environment,我希望能够根据我运行的环境(开发或生产)加载不同的配置。为了做到这一点,我在网站上阅读了这篇文章 文章指示我将ASPNETCORE\u ENVIRONMENT=Development设置添加到launchSettings.json以在“开发”环境中本地运行我的应用程序。现在的问题是,launchSettings.json也被推送到GIT存储库。这意味着我的代码将始终在“开发”环境中运行。如果我有一些CI/CD管道连接到我的存储库呢?我猜它会在“开发”而不是“生产”中部署我的应用程序,这显然是错误

我希望能够根据我运行的环境(开发或生产)加载不同的配置。为了做到这一点,我在网站上阅读了这篇文章

文章指示我将
ASPNETCORE\u ENVIRONMENT=Development
设置添加到
launchSettings.json
以在“开发”环境中本地运行我的应用程序。现在的问题是,
launchSettings.json
也被推送到GIT存储库。这意味着我的代码将始终在“开发”环境中运行。如果我有一些CI/CD管道连接到我的存储库呢?我猜它会在“开发”而不是“生产”中部署我的应用程序,这显然是错误的


我在这里遗漏了什么?

也许你应该使用类似于? 只需在git根目录中创建一个,并将
launchSettings.json
写入其中。 然后运行
git rm--cached
。在此之后,
launchSettings.json
文件将不再由git提交。
我对git也不是很熟悉,所以我可以随时发现任何错误。

我们在“主机”或docker容器上使用环境变量来覆盖一系列设置,例如ASPNETCORE_Environment=Production

我们从主机上的config文件开始,该文件将覆盖appsettings,但这种方法不能很好地扩展。现在,我们在部署应用程序时设置环境变量(对于我们来说是docker容器)


如果您使用的是“CreateDefaultBuilder”,则环境变量将覆盖除命令行参数以外的所有设置,您可以在此处阅读:

这是我的第一个想法。然而,正如我所看到的,
launchSetting.json
实际上应该在GIT repo中:很抱歉没有提供帮助!好的,那么如何在本地设置“ASPNETCORE_ENVIRONMENT=Development”?使用
launchSettings.json
?是的,确切地说,开发设置在launchSettings.jsonOk中,但问题是,当您部署应用程序时,launchSettings.json不会与它一起部署吗?这不是让你的应用程序总是在开发中工作吗?我猜你的IDE使用launchSettings.json为你的机器设置环境变量。因此,应用程序不会在您部署的环境中使用它们。但请确保在已部署的计算机/容器上设置适当的环境变量,使其不依赖于默认值。