我想知道如何在两个(或更多).NET Core项目(命令行项目)之间共享c#源代码。
据我所知,我无法链接到基于xproj / project.json的项目中不同目录中的源文件。我注意到现在似乎建议为所有东西创建nuget包。但是,为了能够共享一些常见的源单元,我是否真的有必要设置一个私有存储库并创建一个nuget包?
VS2015包含.NET Core库的模板,可能适合构建共享库。是否可以将此lib链接到没有nuget包的项目?
答案 0 :(得分:3)
.NET核心库是一个很好的解决方案。
以与标准C#解决方案相同的方式执行 - 只需创建项目并引用此项目或添加对DLL文件的引用。
为了您自己的目的,您不需要使用Nuget。 Nuget包可以用来将你的dll分发到外面。
的澄清:强>
我错过了一点 - 我使用的是VS2015,但我在我的解决方案中包含了类库项目,而且我引用了项目,而不是DLL文件,这在ASP.Net中工作正常芯
我也有一个不同的项目,其中引用DLL文件直接工作正常,但这是以前版本的ASP.NET应用程序(不是Core) - 似乎.NET Core不像以前版本那样支持这种方式(吗?)。
很抱歉让您感到困惑,有时它的技术太多了;)
那么您可以将ClassLibrary项目包含在项目的解决方案中并将其作为项目引用吗?
答案 1 :(得分:1)
我通过使用源代码控制从每个新解决方案中常用的项目中分支来实现这一目标,如果我做了任何更改,我会再次合并回主分支。
或者,请记住,NuGet只是一个归档的文件集合,您可以在本地保留此NuGet包,甚至可以为Visual Studio创建一个默认具有公共库的模板。
根据您的偏好和当前环境状态(I.E:能够设置源代码管理或软件包存储库),有多种可能性。