I\'m creating a DLL with a reference to web services (I don\'t have the choice to do so) but I have to add web service references to the project that uses the DLL for it to
Is that because you need the service reference so that the WinForm app can reference the types returned by your service?
If that's the case, you could turn your API dll into a wrapper for the service, and wrap up all the methods available on the service in API, and do the same for the objects (assuming that they are clases you have created). Obviously, you'll have to convert all the objects that the service returns into the objects in the API. But once that's done, you shouldn't need to reference the service in WinForm. (funnily enough, I'm in the middle of doing something similar myself!).