在项目之间共享 DLL

Sharing a DLL between projects

Microsoft 现在说它是平台中立的,所以我尝试仅使用 VS Code 在 Mac 和 Linux 上构建并部署到 Azure。为什么?主要是为了证明我可以

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

我想将该 DLL 放在正在构建 MVC 网站的 Linux 机器上 - 希望这些对象构成该网站的模型部分。我不知道如何让网站项目引用我的 DLL 并使用这些对象。

我假设我将它复制到另一台机器,将它放在正在开发的站点的 bin 文件夹中,并在站点 project.json 的依赖项部分引用它。没有。我看到几篇文章说 .Net Core 只能与 NuGet 一起使用,而且它必须是一个包。真的是这样吗?

我发现并阅读了(如果不是完全理解的话)关于 .net core 和 .net framework 之间共享的所有内容。这是一个仅限核心的项目,因此不适用。老实说我迷路了,.Net Standard 刚刚进入了我的视野。

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

我同意它不像引用 DLL 那样简单,但也不错。请注意,您需要适当地对包进行版本控制,以便工具系统可以检测到它何时发生更改。