c# - 当它有自己的 NuGet 依赖项时,如何从 Full .Net 引用标准库
问题描述
我在.NET Standard 库中有一些后端逻辑(我们称之为Service
),并且必须有两种类型的入口点:.Net Core Console App和Windows 服务作为该逻辑的入口点。我的Service
库有它自己的依赖项,其中一个依赖项 ( DAL
) 使用 NuGet,特别是 MongoDB.Driver。当我编译它时,在bin/debug
Service 中没有任何与 mongo 相关的库。但是Net Core Console App
确实有deps.json
, runtimeconfig.json
,runtimeconfig.dev.json
文件,据我所知,这就是为什么一切都可以在 Core Console 上完美运行的原因。
但它不适用于引用Standard
. 也没有 Mongo,bin/Debug
因此当我运行它时(它也被配置为控制台应用程序)我得到了
FileNotFoundException: Could not load file or assembly 'MongoDB.Driver, Version=2.5.0.0
这是合理的信息......但是这应该如何工作呢?通常,完整 .Net 中的 NuGet 依赖项与目标项目一起复制(也复制给引用该项目的人)。标准库并非如此。我只是害怕在这里重新发明轮子,可能有很好的现有解决方案吗?
解决方案
我有一个类似的问题;将以下内容添加到完整的 .NET 项目的 .csproj 中。GitHub上有解释
<PropertyGroup>
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>
推荐阅读
- javascript - 为什么 RxDB 的 vanilla JS 示例不起作用
- javascript - 将数字字符串转换为数字数组?
- android - 合成 TextToSpeech - 合成文本后文件不立即可用
- python-3.x - Jupyter Notebook 存在连接问题。在这一点上感到绝望,因为没有任何工作
- r - RTextTool包中的train_model函数问题,溢出错误
- reactjs - NextJS 静态构建将文件引用到 C://?
- google-cloud-platform - 如何从该数据流作业中获取数据流作业 ID - JAVA
- java - java.lang.NullPointerException null 对象引用 viewpager
- sql-server - 用于正确排序带有表情符号的 nvarchar 字段的 MSSQL 排序规则
- c# - 在运行时转换为未知的派生类型?