I received Sitecore 8.2 EXE file and was trying my hand
with new features of Sitecore 8.2. I
created web project in Visual Studio
2013 with .NET framework 4.5. I
copied Sitecore.Kernel.dll and Sitecore.Client.dll from Sitecore 8.2
bin folder and included their reference in my web project.
I write below test code and at design time it looks fine
to me.
Design Time Code |
But when tried to compile it, VS started to giving me
error “The type or namespace name
'Sitecore' could not be found (are you missing a using directive or an assembly
reference?)” as
Compile Time Errors |
I was trying to figure it out what is the problem and how
to fix it?
Problem:
I check .NET framework version for my VS project and it
was set as 4.5 as
Target Framework 4.5 |
Then I check the version of Sitecore 8.2 installed instance
in its web.config file which showing it as 4.5.2 as
Sitecore Instance Version |
So I was referring higher version of DLL in lower version
of .NET framework Visual Studio project which obviously not allowed by any
framework.
How
to fix it?
We have to create our web project in .net framework 4.5.2
or higher version.
From
where to download?
- Right click web project in Visual Studio
- Select “Properties”
- Select “Installed other frameworks…” from target framework dropdown list as
Install Other frameworks |
- This action redirects you to framework download page.
- Download appropriate .NET framework according to your Visual Studio version. I select Visual Studio 2013 and downloaded Developer framework pack 4.5.2 and 4.6.2 as
Targeting .NET Platforms |
Post Download steps:
- I installed first framework 4.5.2 and then framework 4.6.2.
- I change my Visual Studio project version from 4.5 to 4.5.2.
Dot net framework 4.5.2 |
- Ignore Visual studio warning on framework version change.
- This action include web.config file in our web project.
- Note:- Make sure to delete this new web.config file otherwise on build this config file replace our web.config file in publish folder which crash your Sitecore instance.
- Build the solution.
OMG my project is compile successfully now and I am able
to get required result in Sitecore 8.2 :)
Conclusion:
If you have Visual Studio 2013 and want to work with Sitecore
8.2, make sure you have created your web project in .NET framework 4.5.2 or
higher.
This is another Sitecore learning lesson for me. Please
leave your comments or share this learning lesson if it’s useful for you.