c# - “类型是在未引用的程序集中定义的”仅在我的计算机上
问题描述
我正在尝试构建一个相当大的解决方案,一个带有一些扩展功能的静态类让我有点头疼。我会简化很多代码,基本上可以归结为以下几点:
有一个
public static typeP Convert(this typeD d, typeA a, typeB b) {
return somethingOfTypeP;
}
并且有一个
public static IList<typeP> Convert(this IList<typeD> d, IList<typeA> a, IList<typeB> b) {
return d.Select(x => x.Convert(a.FirstOrDefault(), b.FirstOrDefault()).ToList();
}
因此,实际上是一种扩展方法,它可以做某事,而另一种则将想法扩展到列表。
typeA 和 typeB 有一个曾祖父,它位于此项目未引用的包中,但显然在立即需要它的地方(在其子项目中)被引用。
一切都在我同事的所有机器上运行良好,一切都在构建,并且“祖父的 dll”在构建时很好地复制到了这个项目的二进制文件夹 - 一切都很棒。但是在我的机器上,我得到
The type GreatGrandfather is defined in an assembly that is not referenced.
You must add a reference to assembly Greatgrandfathers.assembly, version=... etc.
..在调用第一个转换时,在 Select(lambdaExpression) 中。
所以我真的很困惑,实际上。如果类型在一个地方得到很好的解析(两个 Convert 方法的定义),为什么 x => x.Convert(...) 的调用会出现问题?另外,为什么只有我的电脑有问题,其他地方没有?我没有看到任何完全不同的东西,相同的目标框架,相同的包被拉下(来自本地包源的 nuget)。如果我确实添加了带有 Grandfathers.assembly 的包,一切都会构建并正常工作,但如果我进行此更改,我需要了解我为什么需要它......任何想法,任何人?
解决方案
检查引用 Grandfather.dll 的项目的 .csproj 文件中引用的物理路径。可能是您的同事为与您机器上的路径不同的路径配置了参考。
推荐阅读
- django - 在同一字段Django中查询多个
- react-native - 在 React Native 中使用大数据实现搜索功能
- msbuild - 仅当项目或依赖项在 Azure devop 中发生更改时才构建
- macos - 在运行时修改我自己的内核二进制文件的直接和潜在影响?
- ios - 在 iOS 中向表格视图单元格添加虚线底部边框与文本随机重叠
- c++ - 运行时对cin函数的困惑
- powershell - 解析输出以验证列值
- python - 如何转储正在运行的 Python 程序的对象?
- android - 以编程方式获取视图的背景资源
- android - 在使用 Ionic 3 允许系统权限后,Android 设备相机未打开