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,但不想在这个构建机器上安装额外的垃圾。

c#生成错误:错误X2230类型x在需要引用的程序集y中

它看起来像是您引用的某个程序集反过来引用了不可用的ASA.Log.ServiceLogger.dll。您应该能够从运送依赖它的程序集的组中获得此依赖项。

找到它后,我确信错误发生在其中一个C#项目中,但沮丧的是,我开始构建大约12个BizTalk项目中的每一个。最后,我找到了另一个有"GAC"参考的项目,并将其更改为磁盘/库参考,生活很好。

您的构建机器不包含GAC中缺少的引用(问题中的第2点)。它在开发人员的机器上编译得很好(第3点)。我的建议是在GAC中添加缺失的引用。