Bug in Publish version 29.0.0
Hi,
in 29.0.0 in webpage publish, it give error in source WebPagePublishBase. the error message saying: Message: Could not load type 'CMS.Websites.Internal.TreePathUtils' from assembly 'CMS.Websites, Version=29.0.0.0, Culture=neutral, PublicKeyToken=834b12a258f213f9'.
Environment
- Xperience by Kentico version: [29.0.0]
- .NET version: [8]
- Deployment environment: [SaaS|Azure|VM]
- Link to relevant Xperience by Kentico documentation
Answers
TreePathUtils
was moved to a different assembly and namespace. Specifically it is now in CMS.ContentEngine.dll
as CMS.ContentEngine.Internal.TreePathUtils
. I performed the upgrade today and can publish without error.
Do you have any third-party libraries or custom code built for another version? If not, could you try peforming a clean and rebuild to see if the error goes away?
@Rafik4000
I am also able to publish web pages without issue on v29.0.0
Are all of your packages updated to the latest version?
Is this a new project or an upgrade from an existing one? If you were on an older version of Xperience and upgraded you'll want to make sure you read the Changelog and adjust your code to handle any API changes.
Also, like @christiansen mentioned, any libraries you depend on might need to update their Xperience NuGet package dependencies too.
Can you reproduce this in an unmodifed Dancing Goat solution?
You can spin one up pretty quickly from the terminal:
dotnet new update
dotnet new kentico-xperience-sample-mvc -n DancingGoat -o xk-29-00-00-01
cd xk-29-00-00-01
dotnet kentico-xperience-dbmanager -- -s "localhost" -a "Pass@12345" -d "xk-29-00-00-01" --license-file "..\..\xperience-license.txt" --recreate-existing-database
--- Edit
I'm guessing your solution is using one of our search integrations. These required an update to support v29.0.0 due to a breaking API change (a type was moved between C# namespaces).
Update your solution to the newest version of Xperience by Kentico Azure Search or Xperience by Kentico Lucene.
To answer this question, you have to login first.