2014-12-05 3 views
2

이 질문은 게시하려고하는 clickonce 프로젝트와 관련이 있습니다.csproj 파일에서 대상 호출하기

기본적으로 각 테스트 환경에 대한 게시를 수행하여 대상을 설정하여 그에 따라 publishurl 및 publishdir을 설정할 수 있습니다.

프로젝트를 빌드 할 때 DefaultTargets를 사용하거나 msbuild 매개 변수로 추가하지 않고이 새 대상을 호출 할 수 있어야합니다. 이 단계없이 특정 대상을 호출하려면 어떻게해야합니까?

예 : 당신은 같은 다른 대상에서 대상을 호출 할 수 있습니다

<Target Name="ClientPublish"> 
    <CallTarget Targets="PublishForEachEnv" /> 
</Target> 

하지만 어떻게 PublishForEachEnv 대상은 csproj에서 직접 호출 할 것인가?

희망이 의미

말인지 정확히 무엇을 아주 확실하지 않다

답변

0

하게,하지만 난 그것을 균열 할게요.

csproj를 편집하려면 솔루션 탐색기에서 해당 항목을 마우스 오른쪽 단추로 클릭하고 프로젝트 언로드을 선택하십시오. 그런 다음 솔루션 탐색기에서 회색으로 표시되고 사용할 수 없게되면 마우스 오른쪽 버튼을 다시 클릭하고 [프로젝트 이름]을 편집을 선택하십시오.

파일이 XML 형식이므로 모든 정렬 작업을 수행 할 수 있습니다. 맨 아래를 보면 대상 파일 가져 오기가 표시되고 BeforeBuild 및 AfterBuild에 대해서는 각각 빈 타겟을보아야합니다. 여기에 사용자 지정 대상에 대한 호출을 추가 할 수 있습니다. AfterBuild가 아마도 가장 적합 할 것입니다. 사용자 지정 대상을 csproj 또는 가져 오기 파일에 인라인으로 포함 할 수 있습니다.

솔루션 탐색기로 돌아가서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 프로젝트 새로 고침을 선택하여 변경 사항을 적용해야합니다.

또한이 다른 옵션 : 당신이 빌드 출력 상 창에 관심있는 값을 출력하는 포스트 빌드 이벤트 추가 : 그래서

솔루션 탐색기를 의미 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택의 이벤트 빌드, 포스트 빌드 편집.

당신은

는 에코 라인을 입력하여 당신이 원하는 것을 얻을 수있을 것 "나의이 URL은 공표 : '$ (PublishUrl)'"PublishUrl는 사용할 수 없습니다

하는 것으로 당신은 매크로 목록에 있지만, 수동으로 입력하여 사용할 수 있습니다.이 목록에는 일반적인 매크로 만 있습니다.

관련 문제