Today's 'WTF?!' is brought to you by the letters G, A and C.
In CRM 4.0 (Titan) we allow developers to run their web apps under our app domain. You place these ASP.NET files in the ISV folder of the wwwroot. We do ask that you use the Visual Studio Web Deployment Project technology to generate an assembly for your project. We ask that this assembly is placed in the GAC and that you use a web.config (remember web.configs are additive down the folder tree - so create your own - don't change ours) to load the assembly into memory from the GAC. I'll post detailed instructions on the blog on how to do this and our SDK writers will no doubt document it in a more professional manner.
So I'm testing out a sample ISV app I wrote and I can't for the life of me figure out why it's not working. I built my project correctly, I copied my files to the right folders and my web.config is solid. But the damn thing won't work. After an hour of figuratively banging my head against the keyboard I noticed something strange.
I was copying the files into the CRM Server's GAC over the network. When you open this folder \\myserver\c$\windows\assembly the GAC browser appears. However it is not the GAC of 'myserver' it is ACTUALLY THE GAC OF THE LOCAL MACHINE. All this time I was dropping assemblies into my dekstop's GAC instead of the GAC of the CRM Server. WTF.
Sorry for the rant. I felt the need to share.