Click here to Skip to main content
Click here to Skip to main content
Articles » Languages » C# » Generics » Downloads
 
Add your own
alternative version

Plug-ins in C# 2.0: Generics Enabled Extension Library

, 7 Nov 2007
A follow up to my previous article, this article takes the plug-in concept and encapsulates it in a Generics enabled library, including support for source code compilation at runtime.
PluginsInCSharp2_examplesrc.zip
PluginsInCSharp2
HostApplication
ExtensionManager
Common
ExtensionOne
ExtensionTwo
ExtensionFour
ExtensionThree
bin
Properties
Release
HostApplication.exe
Common.dll
ExtensionManager.dll
Extensions
ExtensionOne.dll
ExtensionThree.dll
Settings.settings
bin
EventArgs
Release
ExtensionManager.dll
bin
Properties
Release
Common.dll
bin
Properties
Release
ExtensionOne.dll
Common.dll
bin
Properties
Release
ExtensionTwo.dll
Common.dll
bin
Properties
Release
ExtensionFour.dll
Common.dll
bin
Properties
Release
Common.dll
ExtensionThree.dll
PluginsInCSharp2_src.zip
ExtensionManager
bin
Release
ExtensionManager.dll
EventArgs

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual C# Express 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExtensionManager", "ExtensionManager\ExtensionManager.csproj", "{DC564D81-1C4E-43A9-9832-933C4ADBBBAC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HostApplication", "HostApplication\HostApplication.csproj", "{7FEBE74D-E0D9-4876-88D7-F351BB044495}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Common", "Common\Common.csproj", "{1D6B6E9F-9C9C-4E2B-9DA4-90D6D2983949}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExtensionOne", "ExtensionOne\ExtensionOne.csproj", "{3774E6E4-4761-4CA7-87F6-B4A5085B4692}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExtensionTwo", "ExtensionTwo\ExtensionTwo.csproj", "{197C9501-0BFA-407C-A704-B16FD19F636B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExtensionThree", "ExtensionThree\ExtensionThree.csproj", "{9E7EC4A0-865F-4ED1-B0B7-3CD2FC7B73DE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExtensionFour", "ExtensionFour\ExtensionFour.csproj", "{D3CD6BFC-80F5-4026-88DB-EF3B6F39B950}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Any CPU = Debug|Any CPU
		Release|Any CPU = Release|Any CPU
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{DC564D81-1C4E-43A9-9832-933C4ADBBBAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{DC564D81-1C4E-43A9-9832-933C4ADBBBAC}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{DC564D81-1C4E-43A9-9832-933C4ADBBBAC}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{DC564D81-1C4E-43A9-9832-933C4ADBBBAC}.Release|Any CPU.Build.0 = Release|Any CPU
		{7FEBE74D-E0D9-4876-88D7-F351BB044495}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{7FEBE74D-E0D9-4876-88D7-F351BB044495}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{7FEBE74D-E0D9-4876-88D7-F351BB044495}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{7FEBE74D-E0D9-4876-88D7-F351BB044495}.Release|Any CPU.Build.0 = Release|Any CPU
		{1D6B6E9F-9C9C-4E2B-9DA4-90D6D2983949}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{1D6B6E9F-9C9C-4E2B-9DA4-90D6D2983949}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{1D6B6E9F-9C9C-4E2B-9DA4-90D6D2983949}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{1D6B6E9F-9C9C-4E2B-9DA4-90D6D2983949}.Release|Any CPU.Build.0 = Release|Any CPU
		{3774E6E4-4761-4CA7-87F6-B4A5085B4692}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{3774E6E4-4761-4CA7-87F6-B4A5085B4692}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{3774E6E4-4761-4CA7-87F6-B4A5085B4692}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{3774E6E4-4761-4CA7-87F6-B4A5085B4692}.Release|Any CPU.Build.0 = Release|Any CPU
		{197C9501-0BFA-407C-A704-B16FD19F636B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{197C9501-0BFA-407C-A704-B16FD19F636B}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{197C9501-0BFA-407C-A704-B16FD19F636B}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{197C9501-0BFA-407C-A704-B16FD19F636B}.Release|Any CPU.Build.0 = Release|Any CPU
		{9E7EC4A0-865F-4ED1-B0B7-3CD2FC7B73DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{9E7EC4A0-865F-4ED1-B0B7-3CD2FC7B73DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{9E7EC4A0-865F-4ED1-B0B7-3CD2FC7B73DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{9E7EC4A0-865F-4ED1-B0B7-3CD2FC7B73DE}.Release|Any CPU.Build.0 = Release|Any CPU
		{D3CD6BFC-80F5-4026-88DB-EF3B6F39B950}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{D3CD6BFC-80F5-4026-88DB-EF3B6F39B950}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{D3CD6BFC-80F5-4026-88DB-EF3B6F39B950}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{D3CD6BFC-80F5-4026-88DB-EF3B6F39B950}.Release|Any CPU.Build.0 = Release|Any CPU
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Redth
Web Developer
Canada Canada
Currently I'm an Oracle DBA for a School Board, having recently completed my undergrad at the University of Guelph with a Bachelor of Computing.
 
I obviously enjoy programming Smile | :)
 
Contact Me:
(MSN: jondick at gmail dot com)
(IRC: Dalnet: #c#, #asp.net, #vb.net)
(IRC: FreeNode: #linuxpeople)

| Advertise | Privacy | Mobile
Web03 | 2.8.140721.1 | Last Updated 7 Nov 2007
Article Copyright 2007 by Redth
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid