With the new version 0.22.0 the builds on master branch (with GitVersion) fails:
GitVersion uses the following definition:
mode: ContinuousDelivery
branches:
master: {}
release[/-]:
tag: rc
hotfix(es)?[/-]:
increment: Patch
tag: fix
dev(elop)?(ment)?$:
tag: beta
feature[/-]:
tag: alpha
\d+\-.+:
tag: alpha
ignore:
sha: []
The folder order was changed from:
To:
The ""-values treated as "0" for integer fields.
0.22.0
x64
Windows 10
Error occured both on local machine and GitLab CI.
I think the MR for issue #1597 produce this error.
Compiling build script...
Executing: "C:/src/git/RSAG.Mail/tools/gitversion.commandline/GitVersion.CommandLine/tools/GitVersion.exe"
{
"Major":0,
"Minor":1,
"Patch":1,
"PreReleaseTag":"",
"PreReleaseTagWithDash":"",
"PreReleaseLabel":"",
"PreReleaseNumber":"",
"BuildMetaData":"",
"BuildMetaDataPadded":"",
"FullBuildMetaData":"Branch.master.Sha.f2467748c78b3c8b37972ad0b30df2e15dfbf2cb",
"MajorMinorPatch":"0.1.1",
"SemVer":"0.1.1",
"LegacySemVer":"0.1.1",
"LegacySemVerPadded":"0.1.1",
"AssemblySemVer":"0.1.1.0",
"FullSemVer":"0.1.1",
"InformationalVersion":"0.1.1+Branch.master.Sha.f2467748c78b3c8b37972ad0b30df2e15dfbf2cb",
"BranchName":"master",
"Sha":"f2467748c78b3c8b37972ad0b30df2e15dfbf2cb",
"NuGetVersionV2":"0.1.1",
"NuGetVersion":"0.1.1",
"CommitsSinceVersionSource":2,
"CommitsSinceVersionSourcePadded":"0002",
"CommitDate":"2017-09-13"
}
Error: System.AggregateException: Mindestens ein Fehler ist aufgetreten. ---> System.Runtime.Serialization.SerializationException: Fehler beim Deserialisieren des Objekts "vom Typ Cake.Common.Tools.GitVersion.Gi
tVersion". Der Wert "" kann nicht als Typ "Int32" analysiert werden. ---> System.Xml.XmlException: Der Wert "" kann nicht als Typ "Int32" analysiert werden. ---> System.FormatException: Die Eingabezeichenfolge h
at das falsche Format.
bei System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
bei System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
bei System.Runtime.Serialization.Json.XmlJsonReader.ParseInt(String value, NumberStyles style)
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.Runtime.Serialization.Json.XmlJsonReader.ParseInt(String value, NumberStyles style)
bei System.Xml.XmlDictionaryReader.ReadElementContentAsInt()
bei ReadGitVersionFromJson(XmlReaderDelegator , XmlObjectSerializerReadContextComplexJson , XmlDictionaryString , XmlDictionaryString[] )
bei System.Runtime.Serialization.Json.JsonClassDataContract.ReadJsonValueCore(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson context)
bei System.Runtime.Serialization.Json.JsonDataContract.ReadJsonValue(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson context)
bei System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson.ReadDataContractValue(DataContract dataContract, XmlReaderDelegator reader)
bei System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator reader, String name, String ns, Type declaredType, DataContract& dataContract)
bei System.Runtime.Serialization.XmlObjectSerializerReadContextComplex.InternalDeserialize(XmlReaderDelegator xmlReader, Type declaredType, DataContract dataContract, String name, String ns)
bei System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalReadObject(XmlReaderDelegator xmlReader, Boolean verifyObjectName)
bei System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
bei System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadObject(XmlDictionaryReader reader)
bei Cake.Common.Tools.GitVersion.GitVersionRunner.Run(GitVersionSettings settings)
bei Submission#0.GitVersion()
bei Submission#0.<<Initialize>>d__0.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.<RunSubmissionsAsync>d__9`1.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei Microsoft.CodeAnalysis.Scripting.Script`1.<RunSubmissionsAsync>d__21.MoveNext()
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
bei System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
bei Cake.Scripting.Roslyn.RoslynScriptSession.Execute(Script script)
bei Cake.Core.Scripting.ScriptRunner.Run(IScriptHost host, FilePath scriptPath, IDictionary`2 arguments)
bei Cake.Commands.BuildCommand.Execute(CakeOptions options)
bei Cake.CakeApplication.Run(CakeOptions options)
bei Cake.Program.Main()
---> (Interne Ausnahme #0) System.Runtime.Serialization.SerializationException: Fehler beim Deserialisieren des Objekts "vom Typ Cake.Common.Tools.GitVersion.GitVersion". Der Wert "" kann nicht als Typ "Int32" a
nalysiert werden. ---> System.Xml.XmlException: Der Wert "" kann nicht als Typ "Int32" analysiert werden. ---> System.FormatException: Die Eingabezeichenfolge hat das falsche Format.
bei System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
bei System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
bei System.Runtime.Serialization.Json.XmlJsonReader.ParseInt(String value, NumberStyles style)
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.Runtime.Serialization.Json.XmlJsonReader.ParseInt(String value, NumberStyles style)
bei System.Xml.XmlDictionaryReader.ReadElementContentAsInt()
bei ReadGitVersionFromJson(XmlReaderDelegator , XmlObjectSerializerReadContextComplexJson , XmlDictionaryString , XmlDictionaryString[] )
bei System.Runtime.Serialization.Json.JsonClassDataContract.ReadJsonValueCore(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson context)
bei System.Runtime.Serialization.Json.JsonDataContract.ReadJsonValue(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson context)
bei System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson.ReadDataContractValue(DataContract dataContract, XmlReaderDelegator reader)
bei System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator reader, String name, String ns, Type declaredType, DataContract& dataContract)
bei System.Runtime.Serialization.XmlObjectSerializerReadContextComplex.InternalDeserialize(XmlReaderDelegator xmlReader, Type declaredType, DataContract dataContract, String name, String ns)
bei System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalReadObject(XmlReaderDelegator xmlReader, Boolean verifyObjectName)
bei System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
bei System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadObject(XmlDictionaryReader reader)
bei Cake.Common.Tools.GitVersion.GitVersionRunner.Run(GitVersionSettings settings)
bei Submission#0.GitVersion()
bei Submission#0.<<Initialize>>d__0.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.<RunSubmissionsAsync>d__9`1.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei Microsoft.CodeAnalysis.Scripting.Script`1.<RunSubmissionsAsync>d__21.MoveNext()<---
I'm seeing the exact same issue on Cake.DoInDirectory latest build
it could be an issue on GitVersion itself
maybe here
Submited a PR on GitVersion
To be able to sort older versions of GitVersion, I will submit an fix to Cake for this. Do feel the source issue is with in the GitVersion custom json serializer, but this is ultimately a regression in Cake we think is worth a hotfix.
@devlead I run into the same issue while updating Cake.SqlServer to use v0.22.0. Any workaround available I can use in the mean time?
@trailmax I added tools/packages.config into source control, and set its contents to:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Cake" version="0.21.1" />
</packages>
fixed by #1802