c# - 在项目之间共享 DLL

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

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

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

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

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

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

最佳答案

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

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

关于c# - 在项目之间共享 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40246770/

相关文章:

c# - 上传前如何重命名文件

c# - 如何使用 PdfSharp 创建注释以突出显示现有 PDF 的文本

typescript - React Native Flow、TypeScript 和 Visual Studio Code

c# - 'Newtonsoft.Json.JsonConvert.DeserializeObject(string)' 有一些无效参数

c++ - 'g++' 不是内部或外部命令,也不是可运行的程序或批处理文件。

javascript - VS Code intellisense for Javascript 内置函数

c# - 如何从下拉列表中管理 GridView 中显示的内容?

c# - 如果我将数组的大小初始化为 0 会发生什么?

c# - 最小 API 结果。确定不返回完整对象

javascript - 在asp.net core中添加JavaScript引用