I have two class library projects: DataAccessLibrary and ServiceLayerLibrary.
ServiceLayerLibrary needs access to the DataAccessLibrary‘s methods and properties, but other projects must not have access to DataAccessLibrary.
How can I achieve this?
Have your members in DataAcceessLibrary
internaland make use of friend assemblies so that ServiceLibrary may access them.Example:
You may also use an alternative signing approach which might be better if you need public members in your DataAccessLibrary. It can be achieved by using LinkCommand with StrongNameIdentityPermission ( see http://www.codeproject.com/Articles/339909/Limiting-the-accessibility-Another-way-of-Friend-A ).