Saturday, 16 January 2016

Office 365 / SharePoint Online - Exception while retrieving the TaxonomySession object - Cannot convert argument "context", with value: "Microsoft.SharePoint.Client.ClientContext", for "GetTaxonomySession" to type "Microsoft.SharePoint.Client.ClientRuntimeContext"



Hi All,

Its long time back but very busy with the project. Today new SharePoint issue and solution :) 

In this article I’ll explain the issue which we faced while retrieving the TaxonomySession object from SharePoint online site and solution we got.

We have our SharePoint online site and we have created few TermSets. Now, we need to send those TermSets for the approval to the respective department lead. We could easily import the TermSets from the .csv file but unfortunately there is no direct way to export the TermSets. One possible option is PowerShell script. 

So we have written PowerShell script (I’ll share the complete PowerShell script in new article :)). 

Following is the code


#Add Type for Taxonomy
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Taxonomy.dll"

#Variables
$url = "https://prashamsabadra1.sharepoint.com/sites/Publishing/" // This is my Office 365 developer account

$userName =””  # Your site user name
$password =””  # Password

# convert password into secured string
$securedpw = ConvertTo-SecureString $password -AsPlainText -Force

# creating the context object
$context = New-Object Microsoft.SharePoint.Client.ClientContext($url)

# Assigning credentials
$context.Credentials = $credentials

# Retrieving the taxonomy session
$taxonomysession = [Microsoft.SharePoint.Client.Taxonomy.TaxonomySession]::GetTaxonomySession($context)

 as we are retrieving the taxonomy session object, exception is thrown.

Exception 

Cannot convert argument "context", with value:"Microsoft.SharePoint.Client.ClientContext", for "GetTaxonomySession" to type "Microsoft.SharePoint.Client.ClientRuntimeContext"
"Microsoft.SharePoint.Client.ClientRuntimeContext": "Cannot convert the
"Microsoft.SharePoint.Client.ClientContext" value of type
"Microsoft.SharePoint.Client.ClientContext" to type
"Microsoft.SharePoint.Client.ClientRuntimeContext"."
At line:1 char:1
+ $session =
[Microsoft.SharePoint.Client.Taxonomy.TaxonomySession]::GetTaxonomySe ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodException
    + FullyQualifiedErrorId : MethodArgumentConversionInvalidCastArgument

Figure 1 : Exception while retrieving the TaxonomySession object
 



Solution : After long time of googling got a clue that on my laptop there are two versions of “SharePoint Client Components” are installed as

 

Figure 2 : Two versions "SharePoint Client Components" are installed
as soon as I uninstalled the old version 15.0.4711.1001, restarted the management shell and its started working :)

Thanks !

Enjoy Reading :)

As usual any comment / suggestions / feedback / questions always welcome :)