在项目之间共享DLL

时间:2016-10-25 18:06:51

标签: c# asp.net-core visual-studio-code .net-core class-library

微软表示,它现在处于中立状态,因此我尝试仅使用VS Code构建Mac和Linux并部署到Azure。为什么?主要是证明我可以。

我们的项目有几个部分,包括几个不同的网站,一个Web API,呃API和一些其他的位。在我的Mac上,我构建了一个带有大量对象的.Net核心类库。命令行,dotnet构建,DLL输出,没问题。

我想把这个DLL放在正在构建MVC网站的Linux机器上 - 希望这个对象构成该站点的模型部分。我无法弄清楚如何让网站项目引用我的DLL并使用这些对象。

我曾假设将其复制到其他计算机,将其放在正在开发的站点的bin文件夹中,并在站点的project.json的Dependencies部分中引用它。不。我看到一些文章说.Net Core只适用于NuGet,它必须是一个包。这是真的吗?

我发现并阅读(如果不完全理解).net核心和.net框架之间共享的所有内容。这是一个仅核心项目,因此不适用。坦率地说,我迷失了,而.Net标准的东西刚刚进入我的视野。

1 个答案:

答案 0 :(得分:14)

因此,不要复制DLL,而是使用dotnet pack在Mac上构建nuget包,然后将 复制到Linux机器上。将它放在一个你配置为本地nuget存储库的目录中(没有服务器或任何需要的东西),你就离开了。

我同意它并不像对DLL的引用那么简单,但它并不是太糟糕。请注意,您需要适当地对软件包进行版本化,以便工具系统可以检测它何时更改。