简体   繁体   中英

Share code between multiple .NET Core projects

I would like to know how I can share c# source codes between two (or more) .NET Core projects (commandline projects!).

As far as I understand, I can not link to source files in different directories in xproj/project.json based projects. I noticed that it now seems to be recommended to create nuget packages for everything. But is it really necessary for me to setup a private repository and create a nuget package only to be able to share some common source units?

VS2015 contains a template for .NET Core library which may be suitable for building a shared lib. Is it possible to link this lib to a project without a nuget package?

.NET Core Library is an excellent solution for you.

Do it the same way as in standard C# solution - just create the project and reference this project or add a reference to DLL file .

You don't need to use a Nuget, for your own purpose. Nuget packages could be useful to distribute your dll outside.


Clarification:

I miss one point - I'm using VS2015, but I have included Class Library project in my solution, and I'm referencing by project, not by DLL file, and this works fine in ASP.Net Core.

I also have a different project, where referencing DLL file directly working fine, but this is the previous version of ASP.NET app (not Core) - seems NET Core doesn't support this way like as the previous version (yet?).

Sorry for confusing you, sometimes it's too many technologies ;)


So could you just include ClassLibrary project into solution with your project and refer it as a project?

I have achieved this by using source control to branch from my commonly used projects in each new solution, and again merging back to the master branch if I make any changes.

Alternatively, baring in mind that NuGet is only an archived collection of files, you could keep this NuGet package locally, or even create a Template for Visual Studio that has the common libraries by default.

There are a wide range of possibilities that are down to your preference, and current environment state (IE: Able to setup Source Control, or a package repository).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM