0

I'm currently going through the Sitecore® 9.0 Platform Essentials for Developers eLearning course and I think I must've done something wrong when setting up the solution, although I'm not sure what. I used the powershell installer to get the site up and running (verified it works), and followed the PDF from the course to get the solution running in visual studio. However, I just made my first template and when I did a Site Publish, I've started getting this error. SitecoreRocks is blowing up too.

My bin folder has a ton of Sitecore DLLs, so I don't think there's one missing, but I also feel like that's the most obvious thing that I'm missing. Any insight?

  • Can you check that your solution hasn't deployed a different version of the Sitecore binaries to the ones with the initial install? You could also use dotPeek to look at the Sitecore.Kernel in your website bin folder and checking if the type name does exist. – Richard Seal Jul 12 '18 at 19:48
  • Somehow you have the wrong kernel version in your bin folder. Can you please open your bin folder (probably in C:\Inetpub\wwwroot[YourSiteName]\bin....) in your website and tell us what version it says. Please compare your version to this list. sitecore.stackexchange.com/questions/4358/… – Chris Auer Nov 10 '18 at 17:07
  • Not sure what you mean by rocks is blowing up. There is one error I encountered with Siitecore 9 and rocks which is covered here rockpapersitecore.com/2017/10/sitecore-rocks-with-sitecore-9 – JKerny Feb 26 at 0:45
2

First of all, check if the missing type really exist. For this, I would use JetBrains dotPeak. Just load Sitecore.Kernel there and investigate:

enter image description here

Later on, ensure that you have the same libs referenced in your project so that you are not overriding what is in the bin folder. Useful tip - set Copy Local to False so that you will not override bin dll's:

enter image description here

For the web.config set Do not copy:

enter image description here

2

The training course is to partially blame, unfortunately. For some reason they include a pre-release NuGet package for Sitecore.Kernel.NoReference, which has an old DLL of Sitecore.Kernel. While they do instruct you to manually alter the publish profile to exclude this DLL from being deployed, if you made a mistake or skipped this step it is easy to accidentally deploy this bad DLL.

You can manually revert that DLL as in sh1rts answer, but you should also figure out why you deployed it (I accidentally added a leading backslash to the path in my publish profile) or apply Dawid's suggestion.

You can also change your NuGet package to point at the offical Sitecore NuGet feed (https://sitecore.myget.org/F/sc-packages/api/v3/index.json) and reference the correct package for the 9.0.0 release (v9.0.171002), ensuring your code is compiling against the correct DLL as well.

1

If you have overwritten Sitecore.Kernel.DLL in the target IIS website, you can open the ZIP file Sitecore 9.0.0 rev. 171002 (WDP XP0 packages).zip (provided as part of the training and what you used to install the site via SIF)

Inside this is another ZIP file - Sitecore 9.0.0 rev. 171002 (OnPrem)_single.scwdp.zip

Open this, expand the /content/website/bin folder and the correct version of Sitecore.Kernel is there, copy this to your target website's /bin folder

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.