I'm trying to add a new recipe to an old project. I have an old solution and I have modified some of the projects templates, so the old projects lack some new asset references I added to the new project template.
In .gpstate file I have something like this
<Reference>
<AssetName>DeployProcess</AssetName>
<AppliesTo>BLSpecific\BLSpecific11</AppliesTo> <Blob>AAEAAAD/////AQAAAAAAAAAMAgAAAHNNaWNyb3NvZnQuUHJhY3RpY2VzLlJlY2lwZUZyYW1ld29yay5WaXN1YWxTdHVkaW8sIFZlcnNpb249MS4zLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEAAABBTWljcm9zb2Z0LlByYWN0aWNlcy5SZWNpcGVGcmFtZXdvcmsuVmlzdWFsU3R1ZGlvLlByb2plY3RSZWZlcmVuY2UEAAAABWFzc2V0DnNvbHV0aW9uRm9sZGVyDElzV2ViUHJvamVjdARkYXRhAQAAAQEBAgAAAAYDAAAADURlcGxveVByb2Nlc3MAAAYEAAAAF0JMU3BlY2lmaWNcQkxTcGVjaWZpYzExCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</Blob>
</Reference>
To add this reference to an old project in the solution I have changed the appliesto node innertext to the name of the old project and changed (with a binary editor)the project name into the base64 blob. Here is the new reference node
<Reference>
<AssetName>DeployProcess</AssetName>
<AppliesTo>BLSpecific\BLSpecific34</AppliesTo> <Blob>AAEAAAD/////AQAAAAAAAAAMAgAAAHNNaWNyb3NvZnQuUHJhY3RpY2VzLlJlY2lwZUZyYW1ld29yay5WaXN1YWxTdHVkaW8sIFZlcnNpb249MS4zLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQEAAABBTWljcm9zb2Z0LlByYWN0aWNlcy5SZWNpcGVGcmFtZXdvcmsuVmlzdWFsU3R1ZGlvLlByb2plY3RSZWZlcmVuY2UEAAAABWFzc2V0DnNvbHV0aW9uRm9sZGVyDElzV2ViUHJvamVjdARkYXRhAQAAAQEBAgAAAAYDAAAADURlcGxveVByb2Nlc3MAAAYEAAAAF0JMU3BlY2lmaWNcQkxTcGVjaWZpYzM0CwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</Blob>
</Reference>
I injected this reference node in the gpstate file and BLSpecific34 project now can run DeployProcess Recipe.
If I try using this code
string
decodedASCII = base64DecodeASCII(blob);
decodedASCII = decodedASCII.Replace("BLSpecific11", "BLSpecific34"
);
string
encodedASCII = base64EncodeASCII(decodedASCII);
private string base64DecodeASCII(string data)
{
try
{
System.Text.
ASCIIEncoding encoder = new System.Text.ASCIIEncoding();
System.Text.
Decoder asciiDecode = encoder.GetDecoder();
byte[] todecode_byte = Convert.FromBase64String(data);
int charCount = asciiDecode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
char[] decoded_char = new char[charCount];
asciiDecode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0);
string result = new String(decoded_char);
return result;
}
catch (Exception e)
{
throw new Exception("Error in base64Decode" + e.Message);
}
}
private string base64EncodeASCII(string data)
{
try
{
byte[] encData_byte = new byte[data.Length];
encData_byte = System.Text.
Encoding.ASCII.GetBytes(data);
string encodedData = Convert.ToBase64String(encData_byte);
return encodedData;
}
catch (Exception e)
{
throw new Exception("Error in base64Encode" + e.Message);
}
}
the new encoded blob cause an error loading the solution. Can you give me an help?