Background Information
- TFS 2015 RC2
- Release Management Server 2015
- Azure VM with Deployment Agent 2015
- Physical Local Machine with Deployment Agent 2015
Both machines need a drag location using the Through Release Management Server over HTTP(S) option. We are currently using the HTTP portion of things over port 1000.
Workflow
- Stop application pool (working)
- Stop the site (working)
- Copy website directory to backup folder (working)
- Reserve database (operational)
- Expand the component (doesn't work) using
- hsooru
- msdeploy (web deployment package)
Error (TL; DR)
The same error is accepted every time, it does not matter which machine or which deployment method. The component always fails with the JSON.NET problem.
7/22/2015 3:03:39 PM - Error - (13704, 104) - Cannot deserialize the current JSON object (eg {"name":"value"}) into type 'System.String[]' because the type requires a JSON array (eg [1,2,3]) to deserialize correctly. To fix this error either change the JSON to a JSON array (eg [1,2,3]) or change the deserialized type so that it is a normal .NET type (eg not a primitive type like integer, not a collection type like an array or List<T>) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object. Path 'ErrorMessage', line 1, position 16.: \r\n\r\n at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent) at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType) at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings) at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings) at Microsoft.TeamFoundation.Release.Data.Proxy.RestProxy.BaseDeploymentControllerServiceProxy.GetPackageFileInfos(String packageLocation) at Microsoft.TeamFoundation.Release.DeploymentAgent.Services.Deployer.HttpPackageDownloader.CopyPackageAndUnpackIt(String packageSourceLocation, String filesDestinationLocation) at Microsoft.TeamFoundation.Release.DeploymentAgent.Services.Deployer.ComponentProcessor.CopyComponentFiles() at Microsoft.TeamFoundation.Release.DeploymentAgent.Services.Deployer.ComponentProcessor.DeployComponent()
Update (workaround)
How does it work, if I edit the assembly configuration to have a UNC path as the delete location, the deployment will succeed. However, I want to use the Copy build output to server option.
ms-release-management
Ashley medway
source share