ASP.Net 웹 응용 프로그램 추가 구성 변환이 회색으로 표시됨


89

솔루션에 기존 ASP.Net 웹 응용 프로그램 프로젝트를 추가했습니다. 표준 디버그 및 릴리스 구성 외에도이 솔루션에는 SAT 및 UAT의 두 가지 사용자 지정 구성이 있습니다. 새 웹 응용 프로그램의 경우 Web.Config를 마우스 오른쪽 버튼으로 클릭하면 컨텍스트 메뉴가 표시되지만 "구성 변환 추가"옵션은 회색으로 표시됩니다.

나는 헤매고있다. 새 프로젝트는 웹 애플리케이션입니다. 구성 관리자는이 프로젝트에 대한 두 가지 사용자 지정 구성을 표시하지 않지만 다른 프로젝트에 대해서는 표시합니다. 프로젝트의 솔루션 파일에 올바른 항목이있는 것 같습니다.

생각?

답변:


116

먼저 구성 관리자에서 구성을 정의해야합니다. Configuration Manager를 불러 오려면 Build-> Configuraton Manager로 이동하여 액세스 할 수 있습니다.

에서 활성 솔루션 구성 드롭 다운 선택 <New...>. 추가 한 후에는 "구성 변환 추가"를 수행 할 수 있습니다.

솔루션 파일을 직접 편집하지 마십시오. 두통을 유발할뿐입니다.


6
이런. 나는 전에 그것을 시도했지만 "만들기"상자의 선택을 취소하지 않았으므로 "중복"으로 실패했습니다. "만들기"상자를 선택 취소하자마자 작동했습니다.
paulv7260

@maplemale 여기에 같은 옵션 여전히 회색
앤더스 린든

죄송합니다, 어떻게이 작업을했는지 기억이 나지 않습니다. Jeremy의 답변과는 달리 sln 파일을 직접 해킹했을 수 있습니다. 때로는 유일한 시간 실행 가능한 옵션 일뿐입니다. VS2015로 업그레이드 한 이후로이 문제가 발생하지 않았습니다.
maplemale

2
솔루션프로젝트 구성이 다릅니다! 해당 변환을 사용하려면 먼저 지정된 프로젝트에서 구성을 만들어야합니다. "새 프로젝트 구성 만들기"를 선택하여 모든 프로젝트에서 한 번에 구성을 만들거나 @ paulv7260이 한 것처럼 개별적으로 수행합니다.
Patrick

1
여전히 회색으로 표시되는 경우 웹 프로젝트에 솔루션 구성의 이름과 일치하는 빌드 구성이 있는지 확인하고 선택되었는지 확인합니다.
jmatthias

45

PublishProfiles로 작업 할 때 저에게 대답은 관련 pubxml파일 (프로젝트 폴더 Properties하위 폴더에 있음 PublishProfiles) 을 마우스 오른쪽 버튼으로 클릭 한 다음 Add Config Transform. 관리자가 필요하지 않습니다.).


이 솔루션은이 변환 만 추가하기를 원하기 때문에 훨씬 더 잘 작동합니다. 새로운 활성 솔루션 구성은 솔루션의 모든 프로젝트에 영향을 미치며 제 경우에는 관련이 없습니다. 감사!
Ben

완전한. 현재 Visual Studio 2015에서 편집중인 이전 Web Forms 프로젝트에서 작동합니다. 정말 좋습니다. 감사합니다.
bkwdesign

5
은 "구성 변환을 추가하는 것은"회색으로 표시됩니다 이유를 테스트하고 그러나 VS 2015에서 일하고, 난 여전히 이해할 수없는
일리단

20

필자의 경우 Visual Studio 2015에서 프로젝트 템플릿을 기반으로 새 솔루션을 만들 때 구성 변환 추가 가 회색으로 표시되었지만 다른 이유는 다음과 같습니다.

"모든 파일 표시"를 클릭하면 파일이 이미 숨겨져 있음이 드러났습니다. 따라서 버튼이 회색으로 표시되었습니다 (이미 존재하므로 추가 할 필요가 없기 때문입니다).

  1. "모든 파일 표시"아이콘을 클릭하십시오.
    여기에 이미지 설명 입력

  2. 이제 "Web.config"를 확장 할 수 있습니다.
    여기에 이미지 설명 입력

  3. 변환 파일 ( Web.Debug.config또는 Web.Release.config)을 두 번 클릭 하여 열고 편집합니다.

메모:

  • 추가 구성을 추가하고 싶지 않고 DebugRelease를 사용하십시오 . 하나를 생성하고 선택하고 변환 파일이 아직 존재하지 않는 경우 컨텍스트 메뉴 항목 Add Config Transform 이 활성화되고 회색으로 표시되지 않습니다.

  • 추가 구성 변환 파일 을 만들려면 Visual Studio에서 구성 변환이 구성과 상호 관련되어 있다는 점에 유의하세요. 다른 변환을 추가하려면 먼저 새 구성을 추가해야합니다. 다른 구성을 추가하려면 다음을 수행하십시오. 구성 관리자 (디버그 또는 릴리스를 선택할 수있는 드롭 다운)를 통해 먼저 새 구성 (예 : myNewConfig)을 추가하십시오. 그런 다음 myNewConfig를 선택하십시오. 이제 솔루션 탐색기에서 Web.config를 선택하고 마우스 오른쪽 단추를 클릭 한 다음 컨텍스트 메뉴에서 "구성 변환 추가"를 선택합니다. 그러면 Web.myNewConfig.config가 생성됩니다. VS는 구성 당 하나의 변환 만 허용하기 때문에 컨텍스트 메뉴가 다시 회색으로 표시됩니다.


이것은 나에게도 상황이었습니다. 구성 변환 파일이 계속 표시되기를 원했기 때문에 <DependentUpon>Web.config</DependentUpon>프로젝트 파일에서 주석을 달았습니다 . 변환은 여전히 ​​예상대로 작동합니다.
Ethan

새 구성 변환을 추가하려면 어떻게해야합니까?
Reshma

@Reshma-Visual Studio에서 구성 변환은 구성과 상호 관련됩니다. 구성 관리자 (디버그 또는 릴리스를 선택할 수있는 드롭 다운)를 통해 먼저 새 구성 (예 : myNewConfig)을 추가합니다. 그런 다음 myNewConfig를 선택하십시오. 이제 Web.config를 선택하고 마우스 오른쪽 버튼을 클릭 한 다음 상황에 맞는 메뉴 "구성 변환 추가"를 선택하면 Web.myNewConfig.config가 생성됩니다.
Matt

나는 Matt를하고 하나의 구성 파일을 추가 할 수 있었지만 다른 구성 파일을 추가하려고하는데 이제 "add Config Transform"이 회색으로 표시됩니다. 또한 다음 설정 파일에 대한 새 구성 파일을 생성
Reshma

1
@Reshma-맞습니다. 구성 당 하나만 가질 수 있기 때문입니다. 다른 구성을 얻으려면 myNewConfig2와 같은 추가 구성을 추가하십시오. 그런 다음 myNewConfig2를 선택하고 다시 시도하십시오. 이번에는 회색이 아니어야합니다. 선택하십시오. 참고 : 해당 구성에 대한 구성 파일이있는 즉시 회색으로 표시됩니다.
Matt

2

나는 두 가지를 깨닫고 이것을 해결했다.

  1. 솔루션 레벨 구성, 그리고 거기에 프로젝트 레벨 구성. web.MyConfigName.config는 프로젝트 수준 구성을 기반으로 생성 됩니다.
  2. Visual Studio 2017 Configuration Manager는 (숨겨진) obj 폴더에서 추가 할 구성을 기반으로하는 것 같습니다. 프로젝트의 obj 폴더를 삭제하고 다시 빌드하면 추가 한 구성으로 프로젝트가 업데이트됩니다.

"구성 변환 추가"옵션을 사용 가능하게하려면 다음 단계를 따르십시오.

  1. 숨김 파일 표시를 활성화했는지 확인하십시오
  2. 솔루션에 대한 구성 관리자 열기
  3. 관련 선택 솔루션 다음 프로젝트 선택에 드롭 다운 메뉴에서 다음 설정을 <New..>하거나 <Edit..>, 무엇을 제거하거나 편집 및 추가 프로젝트가 당신이 원하는 CONFIGS합니다.
  4. 프로젝트에서 obj 폴더를 삭제하십시오. 재건. 프로젝트 및 솔루션 파일에 변경 사항을 저장했는지 확인하십시오. 나는 또한 Visual Studio를 다시 시작했습니다. 모든 프로젝트 구성이 obj 폴더의 폴더로 표시되는지 확인합니다.
  5. web.config를 마우스 오른쪽 단추로 클릭하고 구성 변환을 추가하십시오.

누군가에게 도움이되기를 바랍니다. :)


1

이 작업을 수행하려면 csproj 파일에 새 속성 그룹을 추가해야했습니다.

구성 변환 추가 가 회색으로 표시되었습니다.

내 csproj에 다음 XML을 추가하고 프로젝트를 다시로드했습니다. 그런 다음 Add Config Transform을 사용할 수 있습니다. 일단 선택하면 내 추가 변환이 추가되었습니다.

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'IAT_CMCD|AnyCPU'">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'UAT_CM|AnyCPU'">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>

1

"구성 변환 추가"옵션을 활성화하는 방법. 아래 단계를 따르십시오. 1 단계 : 솔루션 구성으로 이동 (Below Team) 솔루션 구성으로 이동 (Below Team)

2 단계 : 구성 관리자를 클릭합니다. 구성 관리자를 클릭합니다.

3 단계 : 활성 솔루션 구성 창 에서 새로 만들기를 선택합니다. 활성 솔루션 구성 창에서 새로 만들기를 선택합니다.

4 단계 : 이제 Production / Staging과 같은 새 항목에 의미있는 이름을 지정하고 "Release"옵션에서 복사 설정을 선택합니다. 기본적으로 선택되어 있지 않으면 확인란을 선택했는지 확인하고 확인을 클릭하십시오. 이제 Production / Staging과 같은 새 항목에 의미있는 이름을 지정하십시오.

5 단계 : 이제 솔루션 탐색기로 돌아가서 Web.Config 파일을 마우스 오른쪽 버튼으로 클릭합니다. 이제 구성 변환 추가가 활성화되었습니다.

안녕! 이제 구성 변환 추가가 활성화되었습니다. :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.