c#生成错误:错误X2230类型x在需要引用的程序集y中
本文关键字:错误 引用 程序集 X2230 类型 | 更新日期: 2023-09-27 18:19:36
获取以下构建错误:
错误X2230:类型"ASA.Log.ServiceLogger.IASALog"在程序集中需要引用的"ASA.Log.ServiceLogger"
这是一个场景:
1) 只有在Visual Studio中执行构建/重建解决方案时才无法构建(我已多次运行clean)
2) .DLL似乎不在GAC 中
3) 这是一台干净的"构建"机器,我们正在努力建立自动化构建。它在开发人员的机器上编译得很好。
4) 当我点击错误时,它不会带我去任何地方。它没有指定代码行,甚至没有指定相关的项目。我在同一个解决方案中有一堆C#和BizTalk项目。通过扫描磁盘上的代码/文本,我想我知道它是哪个项目。但每个C#项目都是自己构建的。
5) 被引用的DLL来自另一个内部组(即,我没有代码,无法构建它)。我从另一台机器的GAC中复制了一个新版本的引用DLL到我引用它的库中。一种理论是我有一个过时的DLL,即开发机器上的GAC是最新的,但被引用的DLL不是。
所以我被卡住了,不知道如何完成构建。
同时,我会去尝试FusLogVw,但不想在这个构建机器上安装额外的垃圾。
它看起来像是您引用的某个程序集反过来引用了不可用的ASA.Log.ServiceLogger.dll。您应该能够从运送依赖它的程序集的组中获得此依赖项。
找到它后,我确信错误发生在其中一个C#项目中,但沮丧的是,我开始构建大约12个BizTalk项目中的每一个。最后,我找到了另一个有"GAC"参考的项目,并将其更改为磁盘/库参考,生活很好。
您的构建机器不包含GAC中缺少的引用(问题中的第2点)。它在开发人员的机器上编译得很好(第3点)。我的建议是在GAC中添加缺失的引用。