Our development team deploys about 6 ASP.NET applications (Web forms, SOAP service, RESTful service, and executables). These applications all reference the same few .DLL libraries that hold most of our business code and those libraries reference a few lower level framework and security libraries (this is all in C#). Right now it's all hosted in TFVC in azure.
We are creating a new Azure organization and moving everything into Azure Git and more importantly we're setting up CI/CD using Pipelines. Up until this point we've just had one giant solution that we use for deployments that holds everything. The application projects just use project references to the library projects and when I build for deployment it builds it all. Then we just publish each application independently using Web Deployment out to our Azure Virtual Machines.
We're going to need a pipeline for each of these applications and we're trying to figure out the best way to (1) structure our projects in our Repos repository and (2) how to best reference the libraries.
Should the libraries be built into packages and then we reference them from an artifacts feed that we pull into the pipelines? Also, should each application and library be its own project in the repository or does it tend to flow better as one large project? I'm not sure these questions have definitive answers but I'm hoping for either some direction or best practices I can reference.