Aplicación ASP.NET Core que hace reference a un proyecto en otro repository de Git

Tengo una solución que consta de tres aplicaciones ASP.NET Core MVC y una biblioteca ASP.NET Core que tiene cierta lógica que comparten las tres aplicaciones MVC. Cada una de las aplicaciones y la biblioteca son su propio repository de Git.

Ahora, estoy intentando implementar una de las aplicaciones MVC en Azure, y mientras se despliega falla con el siguiente logging de errores (solo se muestra la última parte aquí donde se produce el error)

Installing System.Security.Cryptography.Cng 4.2.0. Installing System.Security.Cryptography.Csp 4.0.0. Installing Microsoft.NETCore.Windows.ApiSets 1.0.1. Committing restre... Writing lock file to disk. Path: D:\home\site\repository\project.lock.json D:\home\site\repository\project.json Restore failed in 55782ms. NuGet Config files used: C:\DWASFiles\Sites\#1cerebro-lantern\AppData\NuGet\NuGet.Config Errors in D:\home\site\repository\project.json Feeds used: Unable to resolve 'Telepathy (>= 1.0.0)' for '.NETCoreApp,Version=v1.0'. https://api.nuget.org/v3/index.json Installed: 192 package(s) to D:\home\site\repository\project.json Failed exitCode=1, command=nuget.exe restre -packagesavemode nuspec An error has occurnetworking during web site deployment. Errors in D:\home\site\repository\project.json\r\n Unable to resolve 'Telepathy (>= 1.0.0)' for '.NETCoreApp,Version=v1.0'.\r\nD:\Program Files (x86)\SiteExtensions\Kudu\59.51212.2600\bin\Scripts\starter.cmd "D:\home\site\deployments\tools\deploy.cmd" 

Entiendo que falla porque no puede resolver Telepathy (esta es la Biblioteca que vive en otro repository), pero no tengo claro cómo resolverlo.

Todas las tres aplicaciones de MVC usan la misma biblioteca, y preferiría mantenerla en su propio repository Git, pero no tengo claro cómo conseguiría esto para encontrar mi biblioteca de una buena manera.

Convertirlo en una biblioteca NuGet adecuada también parece malo, ya que es muy específico para mi aplicación, y no servirá para nadie más. ¿Hay alguna otra solución?

NuGet es la solución correcta aquí. Esto es lo que hice con éxito:

  1. Use el dotnet pack de puntos para crear artefactos NuGet para su proyecto de biblioteca compartida. Deberás prestar atención a cómo la versión, por supuesto. Se recomienda la versión semántica.
  2. Suba los packages NuGet a MyGet , a Visual Studio Team Services o a su propio server NuGet .
  3. Agregue la fuente adecuada a sus proyectos ASP.NET Core MVC (a través de nuget.config ) y haga reference al package como cualquier otro package NuGet. El process de restauración del package localmente (o en Azure) comprenderá cómo get el package, siempre y cuando su server NuGet esté accesible en internet público.

Esto es mucho más limpio que intentar hacer reference a él de otra manera, y no tiene que preocuparse por poner un package privado en nuget.org.