For my application, I implemented an interface that sets the base properties and methods that must be implemented in the plugin assembly. public interface IWeather { void Get ( string location ); string CurrentTemp { get ; set ; } string Condition { get ; set ; } string Wind { get ; set ; } string Time { get ; set ; } Dictionary < string , string > Forecast { get ; set ; } string Scale { get ; set ; } string Humidity { get ; set ; } } By default, I consider that a plugin name is the name of the folder it is placed in and the plugin assembly is called plugin.dll.