Program Club

web.config에서 "$ (ReplacableToken…)"을 완전히 제거하는 방법

proclub 2021. 1. 6. 19:59
반응형

web.config에서 "$ (ReplacableToken…)"을 완전히 제거하는 방법


게시 가능한 패키지를 만들고 있으며 obj\Debug\Package\PackageTmp디렉터리로 이동 하면 web.config의 연결 문자열이 교체 가능한 토큰으로 대체되는 것을 볼 수 있습니다. 게시 배치 파일 등을 사용하지 않고 디렉터리에있는 파일을 복사합니다 (내 프로젝트를 테스트하는 동안 동적으로 생성 된 많은 파일을 제거하기 위해서만 게시 패키지 시스템을 사용하고 있습니다. 내 프로젝트의 새 / 원본 파일 트리) web.config 토큰 및 변환 등을 원하지 않으며 다른 파일과 마찬가지로 web.config 파일을 복사하기를 원합니다. 어떻게해야합니까? 나는 본 적이 /p:AutoParameterizationWebConfigConnectionStrings=Falsecommad 라인에 대한 방법을하지만 난 패키지를 생성하기 위해 GUI를 사용하고, 명령 줄을 사용하지 않는. 웹을 중지하려면 어떻게해야합니까?

그리고 당신이 말하기 전에 : 예, 원본 디렉토리에서 원본 web.config를 복사 할 수 있다는 것을 알고 있지만이 문제를 처리하고 싶지 않습니다. 테스트 할 때 클릭 한 번으로 완료하고 싶습니다. 게시 패키지 및 자주 다시 만드는 패키지.


.csproj 파일을 편집하고 Debug PropertyGroup에 다음을 추가해야합니다.

<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>

Project.csproj의 ReleaseReleaseCERT 구성에 다음이 있습니다 (AutoParameterizationWebConfigConnectionStrings 줄만 추가했습니다).

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == '**Release**|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <!-- add the following line to avoid ConnectionString tokenization -->
    <AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == '**ReleaseCERT**|AnyCPU'">
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <Optimize>true</Optimize>
    <DebugType>pdbonly</DebugType>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <!-- add the following line to avoid ConnectionString tokenization -->
    <AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>
</PropertyGroup>

나는 받아 들여진 대답이 말한 대로해야 했지만 대신 Properties/PublishProfiles/__THEPROFILE__.pubxml파일이 아닌 .csproj파일에서해야했습니다.

(VS2012를 사용하고 있기 때문일 수 있습니까?)


Travis Illig 지침 에 따라 WiX 설정을 위해 외부에서 웹 프로젝트 패키지를 만들려고 할 때 비슷한 문제가 발생했습니다 . 나는 추가하여 해결 받는 사람을 :AutoParameterizationWebConfigConnectionStrings=FalseMSBuild/@Properties

<MSBuild Projects="%(ProjectReference.FullPath)"
         Targets="Package"
         Properties="Configuration=$(Configuration);Platform=AnyCPU;AutoParameterizationWebConfigConnectionStrings=False"
         Condition="'%(ProjectReference.WebProject)'=='True'"

ReleaseProject.csproj파일 조건 섹션에 다음을 추가해야했습니다 .

<InsertAdditionalWebCofigConnectionStrings>False</InsertAdditionalWebCofigConnectionStrings>

참조 URL : https://stackoverflow.com/questions/7207689/how-to-get-rid-of-replacabletoken-in-web-config-completely

반응형