2017-03-16 1 views
2

Visual Studio (버전 2015 커뮤니티)에서 ASP.Net 프로젝트를 빌드 할 때 웹 사이트 구성 파일 (예 :, Web.Config)은 빌드 컴파일 된 .dll 파일과 함께 bin 폴더에 저장하고 {assembly}.dll.config의 이름을 바꿉니다.ASP.Net 프로젝트가 {assembly} .dll.config를 bin 폴더로 복사하지 못하게합니다.

Web.config 파일에 대한 속성 창 다음과 같은 매개 변수를 설정에도 불구하고이 문제가 발생합니다 : 우리의 솔루션을

Web.config Properties Window

이 파일의 두 번째 사본이 필요하지 않으며, 사용 {assembly}.dll.config 양식의 출력은 bin 폴더에 있습니다.

Visual Studio에서 구성 파일의 복사본을 만들고 bin 출력 디렉터리에 저장하지 못하게하려면 무엇이 필요한지 알고 싶습니다. 장소 (출력 디렉토리의 루트 디렉토리에 Web.config{assembly}.dll.config)에서

데 중요한 구성 설정은 보안 측면에서 문제가있다.

+0

'Web.config'가 bin 디렉토리에 없다면 어떻게 프로그램을 실행할 것입니까? 컴파일 된 응용 프로그램과 IIS가 로컬 개발 폴더에서 해당 파일의 값을 마술처럼 알기를 기대합니까? – caesay

+1

보안이 중요시되는 환경에서,'Web.config'에 생산/민감한 데이터를 가지고 있으면 안됩니다. 즉, 코드에 기여한 다른 모든 요소는 필요하지 않거나 바람직하지 않은 프로덕션 데이터베이스 연결 문자열 등에 액세스 할 수 있습니다. 개발 디렉토리 (와 bin)의'Web.config'는 테스트 데이터와 테스트 데이터베이스를 가리켜 야합니다. 프로덕션 서버에 앱을 배포 할 때이 값은 민감한 프로덕션 값으로 업데이트해야합니다. – caesay

+1

@caesey 웹이 아닌 중복 {assembly} .dll.config 파일을 제거하려고합니다.실제로 사용되는 config 파일. 혼란스러워서 미안해. 실제로 Web.config가 필요합니다. 별도의 {assembly} .dll.config 파일은 아닙니다. – Lemonseed

답변

2
  • 당신의 앱 Publish 응용 프로그램을 배포 할 수 있습니다. 이렇게하면 필요한 어셈블리/파일 만 배포됩니다. /bin 폴더를 게시하면이 내용이 반영됩니다 (언급 한 "중복"은 포함되지 않음).

  • 보안 : 당신이 계신에 따라, 당신 자신의 파일에 web.confg에서

    • 별도의 "민감한"정보 수 있습니다. 소스 제어

      예에서에있는 파일을 제외하여 - 이것은 보통 온라인 저장소 (TFS, Git 등) 등으로부터 유지하기위한 것이다

      <appSettings file="AllMySecrets.config"> 
      .... 
      
    • 사용 encryption

제 H.

+0

게시를 사용하는 것이 덜 이상적인 솔루션이지만 구성 설정을 다른 파일로 분리하는 것이 가능한 솔루션입니다. Upvoting은'{assembly} .dll.config' 복제 동작을 어떻게 든 사용할 수 없다는 시나리오에서 작동합니다. – Lemonseed

관련 문제