솔루션을 빌드하고 솔루션 내에 여러 웹 응용 프로그램을 배포 할 TFS 2012 빌드 정의를 설정하려고합니다. 나는 정확히 무엇을 하려는지 주소가있는 this article을 보았고 here의 해결책에 동의하는 것으로 보인다.TFS 2012 웹 배포 용 빌드 정의는 프로젝트 파일에 정의 된 매개 변수를 무시합니다.
그래서이 기사에서 설명한 빌드 정의/프로젝트 구성을 구현해 보았습니다.하지만 내가하는 일과 상관없이,이 모양처럼 csproj 파일의 특정 구성 속성 그룹에 넣은 매개 변수를 무시하는 것처럼 보입니다. :
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'MyConfig|AnyCPU' ">
...
<DeployIisAppPath>My Website Name</DeployIisAppPath>
<MsDeployServiceUrl>MyWebServer</MsDeployServiceUrl>
</PropertyGroup>
내가 얻을 내가 구축하기 위해 노력하고있어 각 프로젝트에 대해 다음과 같은 오류 :
Web Deploy publish/package validating error: Missing or Invalid property value for $(MsDeployServiceUrl)
그래서 내가 빌드 정의의 MSBuild를 인수 대신의 csproj 파일에 MsDeployServiceUrl을 정의하는 시도 . 이것은 위의 오류를 해결하지만, 나는이 오류 얻을 :
The “ConcatFullServiceUrlWithSiteName” task was not given a value for the required parameter “SiteAppName”.
그래서 그것 중 하나 csproj 파일에서 DeployIisAppPath 매개 변수를 읽고 있지를, 나는 각각의 다른 때문에 MSBuild를 인수 라인이 이동할 수 없습니다 프로젝트를 배포하려고합니다.
마치 배포 과정에서 내가 구축하고있는 구성을 인식하지 못하는 것처럼 csproj 파일에서 올바른 PropertyGroup을 찾아서 매개 변수를 읽을 수 없습니다. 그러나 빌드 정의의 "Configurations to Build"줄에 구성을 지정했으며/p : Configuration = MyConfig를 MSBuild Arguments 줄에 추가하려고 시도했지만 문제가 해결되지 않은 것 같습니다.
는업데이트 :
좋아, TFS는 솔루션에 정의 된 구성을 인식하지 못하는 것 같다. 빌드 정의에서 "빌드 할 구성"을 선택하면 대화 상자의 구성 열에있는 드롭 다운 목록에 기본 "디버그"및 "릴리스"만 표시됩니다. 우리는 우리 솔루션에 정의 된 다른 구성이 반 십여 가지가되어 나타나지 않습니다. 필자는 구성을 수동으로 입력하려고 시도했지만 철자가 정확하다는 것을 두 번 확인했습니다. 빌드되지만 올바른 구성을 사용하지 않습니다 (잘못된 Web.config 변환이 적용됨). 이것은 프로젝트 파일의 올바른 PropertyGroup에서 빌드 특성을 읽지 않는 이유를 설명합니다.
TFS 설치/구성에 문제가 있습니까? 솔루션 정의 구성이 드롭 다운 목록에 나타나야합니까? 아니면 항상 사용자 정의 구성 이름을 수동으로 입력해야합니까?
기사에서 누락 된 부분은 빌드 정의에서 어떤 구성이 만들어 지는지 지정할 필요가 있습니다. 광산이 기본적으로 아무 것도 지정하지 않았고 당신과 같은 오류가 발생했습니다 (이것이 내가 무엇을 만들고 있는지 궁금하게 만듭니다). 어쨌든, 일단 Release CPU를 지정하면 작동합니다. –
그건 내 문제가 아니야. 빌드 정의에 지정된 구성이 있었지만 솔루션의 모든 프로젝트에 대한 구성을 다시 만들 때까지 작동하지 않았습니다. – jkindwall
이것은 단지 나에게 일어 났지만 하나의 프로젝트에서만 발생했습니다. 방금 솔루션 구성에서 릴리스를 제거하고 (프로젝트 특정 구성을 다시 실행하지 않았 음) 다시 읽었습니다. –