c# - 如何引用 NuGet 包?
问题描述
我是 .NET 世界的新手,此时我对包、引用以及如何在我的 c# 项目中引用它们感到非常困惑。
我的解决方案中有 3 个项目:
DataAccess
- 包含访问数据的逻辑、DTO与实体之间的映射等,DataAccessTest
- 包含DataAccess
项目的单元测试,Service
- 将项目包装DataAccess
到 Windows 服务中。
现在,DataAccess
项目引用 AutoMapper(以及其他)来帮助进行数据转换。它包含在文件的<PackageReference />
元素中csproj
。我在做的时候似乎工作正常dotnet restore
,但是dotnet build
在尝试解析命名空间时失败了!JetBrains Rider 也是如此 - 在我明确引用它们之前,它不会找到命名空间<Reference>
!
不确定是否相关,但依赖项目也是如此。例如,DataAccessTest
引用DataAccess
项目 - 以便运行测试。但是,它仍然需要在项目引用之上添加传递依赖项(例如 AutoMapper)。
这是预期的行为吗?您是否需要同时保留<PackageReference>
和<Reference>
才能正确编译项目?
解决方案
在 C# 中,您必须注意引用其他项目。如果一个项目已被另一个项目引用,则另一个项目不能使用或引用第一个项目。如果你这样做了,它会给你编译错误。
推荐阅读
- hash - 对于多项式表达式来说,什么是体面的散列函数?
- sql - 在 SQL 中检查两列是否是一对一的
- uwamp - Uwamp Online Mode
- apache-spark - HDFS 上大于块大小的文件不会分离
- c# - 在没有 NotifyDatasetChange() 的 Timer 上更新 RecyclerView 适配器中的 TextView
- flutter - 如何在颤振应用程序中获得主要功能的代码覆盖率?
- django - Django 分页问题 - 初学者
- c++ - 在结构末尾附加新成员变量后的二进制前向兼容性
- cypress - 赛普拉斯网::ERR_EMPTY_RESPONSE 6.8.0
- graphql - 在 Javascript 函数中使用 Apollo 重新获取查询