Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

Originally hosted in CodePlex at

Note: SLK is no longer being actively developed. It still works on on premises SharePoint 2007, 2010 and 2013. It is untested on 2016, but may work. It is not supported on Office 365, and never will be as it is written in full-trust code. Some minor bug fixes are added as my few remaining customers who haven't moved to Office 365 find them.

                                     SharePoint Learning Kit
                                        Source Code Guide


This ReadMe.txt file provides an overview of the source code for SharePoint Learning Kit (SLK),
and instructions for building SLK.

Most of these instructions apply to the SLK application, i.e. the SharePoint "solution" (packaged
as SharePointLearningKit.wsp) which adds e-learning funcionality to SharePoint.  The SLK
redistributables and source code also includes Microsoft Learning Components (MLC), a set of
managed-code assemblies (DLLs) and reusable ASP.NET source code (the "MLC Session Frameset") that
allow you to add e-learning capabilities to your applications.  The method for debugging those
applications will vary based on the type of application (Web application, Windows Forms
application, etc.)

These instructions are targeted to developers who will be building the SLK source code.  These
instructions assume the reader is already familiar with installing and using SLK as a user,
and has read through at least the introductory topics in the the SLK SDK documentation set
(see Documentation.htm).  If you're only interested in using the SLK SDK, that documentation
should be sufficient -- the file you're now reading is specifically for those interested in
building and debugging the SLK application.


To build and debug SLK, you'll need the following installed on your development computer:
  -- Windows SDK 7.0 or 7.1
  -- You should be able to use Visual Studio, but as I don't VS you will probably need to fiddle with the .csproj files.

To build the SLK SDK documentation set (optional), you'll need the following:
  -- CodeDoc, available from


This file (ReadMe.txt) is at the root of the SLK source code directory tree.  This directory tree
is designed to be unzipped in the location C:\dev\SLK -- so that the path of the file you are now
reading should be C:\dev\SLK\ReadMe.txt -- and this documentation will make that assumption.  In
fact, you may be able to build and debug SLK in other locations, but this is the configuration
that's received the most testing, and is therefore recommended.

This directory tree contains the following directories:

  -- ApiRef: File used in the SLK SDK documentation -- see "BUILDING SLK SDK DOCUMENTATION".
            This has not been kept up to date since version 1.0.

  -- ApiRefSrc: Files related to ApiRef but not included in the SLK SDK documentation set.
            This has not been kept up to date since version 1.0.

  -- Doc: Various documents included in various SLK distribution packages.

  -- Samples: MLC sample code.

  -- Slk: Source code for the SLK application.  Contains these subdirectories:
       -- Admin: SLK administration Web page (appears in SharePoint Central Administration).
       -- AdminFeature: SharePoint "feature" .xml files for SLK administration features.
       -- App: SLK application Web pages.
       -- AppFeature: SharePoint "feature" .xml files for SLK application features.
       -- Dll: Source code for Microsoft.SharePointLearningKit.dll.
       -- Samples: SLK application sample code.
       -- slkadm: Source code for the slkadm.exe command-line utility.
       -- Solution: Build scripts for building SharePointLearningKit.wsp.
       -- References: SharePoint dlls for referencing

  -- Learning Components: Source code for MLC (Microsoft Learning Components).  Contains these subdirectories:
       -- Compression: Source code for Microsoft.LearningComponents.Compression.dll
       -- LearningComponents: Source code for Microsoft.LearningComponents.dll.
       -- Shared: Source files shared among subdirectories of Src.
       -- SharePoint: Source code for Microsoft.LearningComponents.SharePoint.dll.
       -- Storage: Source code for Microsoft.LearningComponents.Storage.dll.

  -- Tools: Various build tools.  Tools\Src contains source code for some of these tools.

When you build SLK, you'll get additional directories, such as Debug, Drop, Slk\Debug,
 etc.  These directories, along with all other files and directories generated by the
build process, can be deleted by running "msbuild /t:Clean".


To build SLK, you just need to run msbuild from the command line in the SLK root directory.


     At this point, you have a complete build.  Specifically:

       -- The compiled versions (Release) of each of SLK's DLLs should exist within the
          bin subdirectory of each project.  Here are the Debug file locations:

       -- The MLC LearningStore schema, located here:


       -- The SLK application LearningStore schema, located here:


       -- The SharePoint "solution" file (basically a CAB file that installs into SharePoint)
          has been built into these locations (Debug and Release):



You will need to run your debugger on the SharePoint machine you are debugging and attach it to the 
application pool process. Then debug as a web application.

It may be easier to add debug methods which write out to files, or if a page or web part write to the 
HTML output.