현재 우리는 .net 코어 웹 API 응용 프로그램을 만들고 있으며 지금까지 함께 작업 해 보니 매우 좋았습니다. 그러나 우리는 배포 서버 (Team Studio)에서 appsettings.json 파일 내의 DB 연결 문자열을 바꿀 수 없다는 문제가 있습니다. Team Services가 대체 작업을 수행 할 수 있도록 이전 web.config 형식으로 연결 문자열을 넣어이 문제를 해결할 수 있습니까? 하나 만들려고했지만 System.Configuration을 사용하여 연결 문자열에 액세스 할 수 없습니다..Net Core Web API에서 web.config 파일 사용
답변
다행히 web.config가 .net 코어에서 제거되었습니다. 제가 권장 할 수있는 한 가지 방법은 appsettings.json의 연결 문자열을 대체 할 power shell 스크립트를 작성하고 team city agent를 사용하여 호출하는 것입니다.
이 인 것으로 가정하면은 환경 중립 구성 만 포함해야한다는 것을 의미합니다. 특정 환경 (예 : 연결 문자열)에 특정한 것이 있다면 appsettings.{Environment}.json
으로 가야합니다. 그런 다음이 파일은 배포하려는 서버에 설정된 ASPNETCORE_ENVIRONMENT
환경 변수를 기반으로로드됩니다. 다른 말로하면, 당신은 아무것도 대체 할 필요가 없습니다. appsettings.json
과 appsettings.{Environment}.json
을 모두 배포하고 ASPNETCORE_ENVIRONMENT
변수가 적절하게 설정되어 있는지 확인하십시오.
그런 경우 암호 나 중요한 데이터가 소스 저장소에 체크인되어야합니다. 대체는 두 번째 보안 계층을 허용하므로 VSTS의 릴리스 파이프 라인에서 appsettings.json을 대체하는 것을 선호합니다. 거기에서 잘 작동하지만 불행히도이 경우에는 도움이되지 않습니다. – jcemoller
외부화 된 설정 제공자가 그 역할을하게 될 것입니다. 서버에서 환경 변수를 사용하여 연결을 설정하거나 Azure Key Vault와 같은 것을 사용할 수 있습니다. –
XML을 직접 파싱 할 수 있습니다. – SLaks
[.Net 핵심 응용 프로그램에서 web.config 파일을 읽는 방법] (https://stackoverflow.com/questions/46996480/how-to-read-web-config-file-in-net-core-app)) – Set