I have some general questions about web.config and how it works regarding assembly reference. I've been playing around with the new Razor view engine and had some trouble getting it up and running.
My problem started with a general
The type or namespace name 'XXXXX'
does not exist in the namespace
'XXXXX' (are you missing an assembly
<add assembly="System.Web.WebPages" />
<add assembly="System.Web.WebPages, Version=184.108.40.206, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Answering your first question:
There's another SO question here with a useful answer:
Essentially it is to do with differences between Web Projects and non-web projects in Visual Studio (as I understand it).
Answering your second question:
This took quite a bit of digging around but here you go:
Culture - most assemblies should be culture neutral (assuming this is set in the application). However if you do have culture sensitive assemblies then this is where you specify the culture of the assembly.
PublicKeyToken - this is the public key from the public/private key pair that was used to sign the assembly. Having this enables .NET to verify that the assembly it is loading is the correct one.
More useful information here: