2012-11-30 5 views
3

Jenkins에서이 빌드 오류가 발생합니다. 나는 그것에 대한 해결책을 찾기 위해 어떤 도움을 주셔서 감사 드리며, 누군가 나를 올바른 방향으로 향하게 해주시기를 바랍니다. Jenkins 빌드에서 "AssemblyInfo"MSBuild 태스크가 실패했습니다.

내가지고있어 오류입니다 :

"D : \ 젠킨스 \ 작업이 * \ 작업 공간 \의 CAPS.msbuild 편집 됨 *"(기본 대상) (1) -> (대상 컴파일) -> 오류 MSB4018 : "AssemblyInfo"작업 이 예기치 않게 실패했습니다. System.ArgumentException : version 매개 변수 이름 : 지정한 문자열이 에 유효한 버전 번호가 아닙니다. 에 Microsoft.Build.Extras.Version.ParseVersion (문자열 버전) Microsoft.Build.Extras.AssemblyInfo.Execute() at Microsoft. 나는 AssemblyInfo.cs에 모든 파일 것을 확인했습니다

Microsoft.Build.BackEnd.TaskBuilder.d__20.MoveNext()에서 Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() (내가 말할 수있는 한) 좋게 보이고 솔루션에 대한 msbuild 파일과 관련하여 아무 것도 보이지 않습니다.

나는 내가 생각할 수있는 오류의 모든 파생어를 봤어.

모든 조언을 주시면 감사하겠습니다.

코멘트 응답 다음은 MSBuild 파일에서

[assembly: AssemblyVersion("2.0.*")] 

: AssemblyInfo.cs 파일에서

<PropertyGroup> 
    <ProjectName>CAPS</ProjectName> 
    <Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration> 
    <VersionLabel Condition=" '$(VersionLabel)' == '' ">0.0</VersionLabel> 
    <AssemblyVersion>2.0.$(VersionLabel)</AssemblyVersion> 
</PropertyGroup> 

이도 관련이있을 수 :

<Target Name="Compile"> 
     <ItemGroup> 
      <UpdateFiles Include="**\AssemblyInfo.cs" Exclude="**\.svn\**" /> 
     </ItemGroup> 
     <AssemblyInfo AssemblyInfoFiles="@(UpdateFiles)" AssemblyVersion="$(AssemblyVersion)" AssemblyFileVersion="$(AssemblyVersion)"/> 

     <MSBuild Projects="$(ProjectName).sln" Properties="Configuration=$(Configuration);RunCodeAnalysis=true" /> 
</Target> 
+0

'지정된 문자열은 유효한 버전 번호가 아닙니다. '- 어떤 버전 번호를 쓰려고 했습니까? –

+0

질문이 정보로 업데이트되었습니다. –

+0

...'$ (AssemblyVersion)'이 예상 값을 얻습니까? ''당신을 보여줄 수 있습니다. –

답변

4

내 생각에, VersionLabel 변수를 사용하는 것이 해결되지 않고 리터럴 2.0. $ (VersionLabel)을 AssemblyInfo 파일에 작성하려고합니다.

한 쪽 메모 : AssemblyVersion과 AssemblyFileVersion을 동일한 번호로 설정하면 강력한 이름의 상황에서 Dll을 핫 스왑 할 수 없습니다. 일반적으로 AssemblyVersion은 '2.0'이고 AssemblyFileVersion은 '2.0.13345.02'또는 번호 매기기 구성표가 무엇이든간에됩니다. 그런 식으로 2 주 내에 빌드 된 dll은 '2.0'이고 '2.0.13352.01'이라고 바꿔 넣을 수 있습니다.

전체 패키지를 게시 할 때마다 중요하지 않을 수 있지만 필드를 올바르게 사용하고 있지 않습니다. (AssemblyVersion : [: AssemblyVersion ("2.0 *.") 조립] 버전 없음 [어셈블리 어셈블리 정보에

또 다른 질문

1

그 작업에 버그, 당신은을 변경하는 경우에서이 answer를 참조하십시오 "2.0.0.0")] 작동합니다.

관련 문제