Someone asked me how to enable the (Fully functioning) web designer in a class library. Honestly I think using a WAP is all you need to do. It will give you a fully functioning web designer and will generate a DLL. If you already have a class library project that you want to now add web pages and user controls too just follow the instructions here (Under the section "Creating a hybrid VSeWSS/WAP Project") but instead add the following ProjectTypeGuids element below (In green). This will turn your class library project into a WAP.

<PropertyGroup>

<Configuration Condition=" '$(Configuration)' == '' ">DebugConfiguration>

<Platform Condition=" '$(Platform)' == '' ">AnyCPUPlatform>

<ProductVersion>8.0.50727ProductVersion>

<SchemaVersion>2.0SchemaVersion>

<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}ProjectTypeGuids>

<ProjectGuid>{26E7042F-79CF-4782-86E2-7D1C914E164A}ProjectGuid>

<OutputType>LibraryOutputType>

<AppDesignerFolder>PropertiesAppDesignerFolder>

<RootNamespace>ClassLibraryWithWebDevelopmentRootNamespace>

<AssemblyName>ClassLibraryWithWebDevelopmentAssemblyName>

PropertyGroup>