2011-02-28 6 views
0

Hy!빌드 이벤트에서 메이저/마이너/빌드/리비전 번호를 검색하는 방법

내가 빌드 후 이벤트에 일부 파일을 복사하려면이 코드 조각을 사용하고

: 당신이 볼 수 있듯이

<PropertyGroup> 
    <DemoPath1>..\demoPath1</DemoPath1> 
</PropertyGroup> 
<Target Name="AfterBuild"> 
    <Exec Command="robocopy $(ProjectDir)$(DemoPath1) $(ProjectDir)demoPath2/$(Revision) * /XD .svn _svn /XF *.cs /S" IgnoreExitCode="true" /> 
</Target> 

것은, 내가 $(Revision) 사용하고 싶습니다 - 분명,이하지 않을 작품 ...

누구 좀 도와 줄래?

@mods : 정확히 어떤 태그를 사용해야합니까 ... 한편으로는 다른 하나의 비주얼 스튜디오에서 msbuild입니다 ...? 자유롭게 편집 할 수 있습니다!

+0

@Cody 회색 : 태그에 대한 감사합니다! –

+0

가능한 [게시 빌드 이벤트 동안 어셈블리 버전 확인?] (http://stackoverflow.com/questions/2243593/determine-assembly-version-during-a-post-build-event) –

답변

1

가장 쉬운 방법은

<Exec Command="robocopy $(ProjectDir)$(SomeProperty) $(ProjectDir)somePath/%(AssemblyVersion.Version) * /S" IgnoreExitCode="true" /> 
+0

AssemblyVersion . 버전이 맞습니까? AssemblyInfo.Version은 0.0.0.0을 반환합니다. AssemblyInfo.cs의 내 설정과 일치하지 않기 때문에 잘못되었습니다. – AgentKnopf

+0

GetAssemblyIdentity- 작업에서 올바른 어셈블리를 참조하고 있습니까? –

+0

AssemblyFiles = "$ (TargetDir) \ $ (TargetName) .exe를 사용하여 프로젝트에서 생성 한 실행 파일을 참조하고 있습니다. $ (TargetDir) \ $ (TargetName) .exe 또한 다음 복사 작업에서 사용되며 올바른 .exe 파일이 복사되므로 올바른 방법으로 가정합니다.하지만 DLL 파일이 아니라 실행 파일이라는 문제가 될 수 있습니까? – AgentKnopf

0

귀하는 버전 번호를 어디서 가져 왔는지 궁금합니다. 그러나 그것을 얻었으니 $ (Revision) 속성을 직접 채우면됩니다. 좀 더 자세하게 설명해 주시면 도움이 될 것입니다.

<GetAssemblyIdentity AssemblyFiles="$(TargetPath)"> 
    <Output TaskParameter="Assemblies" ItemName="AssemblyVersion" /> 
</GetAssemblyIdentity> 

와 나는이 방법을 사용했습니다 :

관련 문제