I am using Microsoft IW Demo VM (2010-10A) for my experiments related to SharePoint, in all cases when I don’t have time (read: when I’m lazy) to create complete SharePoint Dev environment.
This particular time I was playing around with site-scoped features and newly created site collection. So here is my workflow:
Create feature with feature receiver
Deploy to Site Collection from Visual Studio using “No Activation” deployment profile
Activate feature from “Site Collection Features” interface in Site Collection Administration
and, in step 3 – BOOM, I receive YSOD from my SharePoint.
I tried different approach on deployment – so I change deployment profile to “Default”. Site feature is now activated and working. Now, when I try to de-activate it from “Site Collection Features” interface, I again receive YSOD.
Something is, really, not working correctly, so, as usual, I switch to ULS log reader and try all this again. ULS is not giving me really good answer. It simply says “Feature Activation: The web or site was not found.” So, I switch gears and use another resource – Bing Search, searching with this search term that I got as ULS error. Outcome: no relevant result on first two pages of search results.
It seems I got stuck! Luckily, this is not “real” project so I am not in the stage to bang my head against the wall.
I try, again, different approach. Because I have feature receiver that should run on Feature activation, I try to debug project from Visual Studio, set breakpoint inside feature activation event handler and discover that breakpoint is never hit.
In the end, I open IIS manager to check if everything is working properly – My site is using “SharePoint – 80” Application Pool which is started and working. Everything is fine here… But, WAIT! This is not the AppPool that was originally used for this Web Application. So, when I changed the application pool to default “SharePointContentAppPool”, everything started to work properly: activation, deactivation and debugging. Problem is solved!
Apparently, during some of my demos (yes, I used this VM for demoing on conferences and during trainings I held recently, as my colleagues and friends already know, and yes, it has more than 100 days of working, and yes again, I’m lazy) I changed AppPool from default “SharePointContentAppPool” to this, newly created “SharePoint – 80”. Afterwards, I used the VM occasionally, creating some web parts, list definitions ,etc., but all of that was Web scoped and didn’t had problems with features. Problems started to appear when I started to work with features scoped to Site Collection.
Lesson learned: After demos, remember to change any custom settings back to default. It can save you some time…