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

c#生成错误:错误X2230类型x在程序集y中,需要引用,c#,build,build-process,build-automation,C#,Build,Build Process,Build Automation,获取以下生成错误: 错误X2230:类型“ASA.Log.ServiceLogger.IASALog”在程序集中 需要引用的“ASA.Log.ServiceLogger” 以下是场景: 1) 只有在Visual Studio中执行生成/重建解决方案时才能生成失败(我已多次运行clean) 2) .DLL似乎不在GAC中 3) 这是一个干净的“构建”机器,我们正在建立自动化的构建。它在开发人员的机器上编译得很好 4) 当我点击错误时,它不会带我去任何地方。它没有指定代码行,甚至没有指定相关的项目。

获取以下生成错误:

错误X2230:类型“ASA.Log.ServiceLogger.IASALog”在程序集中 需要引用的“ASA.Log.ServiceLogger”

以下是场景:

1) 只有在Visual Studio中执行生成/重建解决方案时才能生成失败(我已多次运行clean)

2) .DLL似乎不在GAC中

3) 这是一个干净的“构建”机器,我们正在建立自动化的构建。它在开发人员的机器上编译得很好

4) 当我点击错误时,它不会带我去任何地方。它没有指定代码行,甚至没有指定相关的项目。我在同一个解决方案中有许多C#和BizTalk项目。通过扫描磁盘上的代码/文本,我想我知道它是哪个项目。但每个C#项目都是在自己构建时成功构建的

5) 正在引用的DLL来自另一个内部组(即,我没有代码,无法生成代码)。我将被引用DLL的新版本从另一台机器的GAC复制到我引用它的库中。一种理论是,我有一个过时的DLL,即开发人员机器上的GAC是最新的,但被引用的DLL不是

所以我被卡住了,不知道如何完成构建


同时,我将尝试FusLogVw,但不希望在这台构建机器上安装额外的垃圾

找到它后,我确信错误出现在一个C#项目中,但沮丧的是,我开始构建12个左右的BizTalk项目中的每一个。最后,我找到了另一个有“GAC”引用的项目,并将其更改为磁盘/库引用,生活很美好

它看起来像是您引用的其中一个程序集依次引用了不可用的ASA.Log.ServiceLogger.dll。您应该能够从提供依赖于它的程序集的组中获取此依赖项。

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