How have you addressed the issues when building a reuseable suite of C# data integration assemblies? We're a Microsoft shop using Sql Server and C#. We're consolidating a lot of our DB integration code into C# assemblies. In doing so we're hitting a number of common problems.
1) We like the source/destination flexibility of SSIS and the GUI, but that environment only (easily) supports cut/paste re-use - unless you know different.
2) We could create (console) apps which use standard command line parameters and/or config files. In that way we can batch up common tasks but we don't have a gui.
3) If we code up a generic GUI to work with our standard parameters we're moving into the territory of re-creating SSIS.
4) We could use our C# assemblies through a power shell wrapper. However PowerShell is great for developers/admins but not users and we're hearing that it's a slower than equivalent SSIS, and we hit the GUI issue again.
Our typical integration task will take information from 2 different database sources and a flat file, apply some (really) complex logic and then update a third database.