C# 在多个.NET核心项目之间共享代码

C# 在多个.NET核心项目之间共享代码,c#,asp.net-core,.net-core,C#,Asp.net Core,.net Core,我想知道如何在两个或多个.NET核心项目命令行项目之间共享c源代码 据我所知,在基于xproj/project.json的项目中,我无法链接到不同目录中的源文件。我注意到,现在似乎建议为所有内容创建nuget包。但是,我真的需要设置一个私有存储库并创建一个nuget包来共享一些公共源单元吗 VS2015包含一个.NET核心库模板,该模板可能适合构建共享库。是否可以在没有nuget包的情况下将此库链接到项目?我通过使用源代码管理从每个新解决方案中的常用项目分支,并在进行任何更改时再次合并回主分支来

我想知道如何在两个或多个.NET核心项目命令行项目之间共享c源代码

据我所知,在基于xproj/project.json的项目中,我无法链接到不同目录中的源文件。我注意到,现在似乎建议为所有内容创建nuget包。但是,我真的需要设置一个私有存储库并创建一个nuget包来共享一些公共源单元吗


VS2015包含一个.NET核心库模板,该模板可能适合构建共享库。是否可以在没有nuget包的情况下将此库链接到项目?

我通过使用源代码管理从每个新解决方案中的常用项目分支,并在进行任何更改时再次合并回主分支来实现这一点

或者,请记住NuGet只是一个归档的文件集合,您可以将此NuGet包保存在本地,甚至可以为VisualStudio创建一个默认情况下具有公共库的模板


根据您的喜好和当前的环境状态,有多种可能性,例如:能够设置源代码管理或包存储库。

.NET Core Library是一个非常好的解决方案

使用与标准C解决方案相同的方法执行此操作-只需创建项目并引用此项目或添加对DLL文件的引用

为了你自己的目的,你不需要使用Nuget。Nuget包对于在外部分发dll可能很有用

澄清:

我忽略了一点——我使用的是VS2015,但我的解决方案中包含了类库项目,我是按项目引用的,而不是按DLL文件引用的,这在ASP.Net Core中运行良好

我还有一个不同的项目,直接引用DLL文件可以正常工作,但这是ASP.NET应用程序的早期版本,而不是Core-似乎NET Core不支持以前版本那样的方式

抱歉让你困惑,有时候技术太多了


所以,您可以将类库项目包含到项目的解决方案中,并将其称为项目吗?

您使用的是哪个版本的VS?我刚刚尝试了您对VS2015的建议,得到:.NET核心项目在此版本中仅支持引用.NET framework程序集。若要引用其他程序集,它们需要包含在NuGet包中并引用该包。抱歉,我忽略了一点-技术太多;-是的,我使用的是VS2015,但我的解决方案中包含了类库项目,我是按项目引用的,而不是按DLL文件引用的,这在ASP.Net Core中运行良好。我还有一个不同的项目,我很少直接引用DLL文件,但这是ASP.NET应用程序的早期版本,而不是核心版本。那个么,你们能不能把类库项目包含到你们的解决方案中,并把它引用到那个些项目中去呢?好的,跨项目引用似乎是可行的。对于我的案例来说,这是一个可以接受的解决方案。使用源代码控制系统的想法很有趣。不幸的是,我正在寻找一个专门针对小型测试/端项目的解决方案,我想在其中共享1到10个源文件,有时甚至不将项目放入源代码管理!对于较大的项目,我更喜欢本地Nuget解决方案,但对于较小的项目,我认为带有跨项目引用的Lukasz Makowejs解决方案对我来说是最简单的。