2012-01-05 55 views
0

获得以下生成错误装配Y:C#编译错误:错误X2230型x是一个需要引用

error X2230: the type 'ASA.Log.ServiceLogger.IASALog' is in assembly 'ASA.Log.ServiceLogger' that needs to be referenced

这里的情景:

1)只有构建失败,做一个当建/在Visual Studio重建解决方案(我已经运行清洁多次)

2).DLL似乎并不在GAC中

3)这是一个干净的“打造”机器,我们是WOR国王在建立自动化构建。它在开发者机器上编译得很好。

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

5)被引用的DLL来自另一个内部组(即我没有代码并且不能构建它)。我将引用的DLL的新版本从另一台机器的GAC复制到我引用它的库中。一个理论是我有一个过时的DLL,即开发机器上的GAC是最新的,但被引用的DLL不是。

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

同时,我会去尝试FusLogVw,但宁愿不在这台生成机器上安装额外的垃圾。

回答

0

发现它,我确信错误发生在C#项目之一中,但在挫败中,我开始构建12个左右的BizTalk项目中的每一个。最后,我找到另一个有“GAC”参考的项目,并将其更改为磁盘/库参考,并且生活很好。

1

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

0

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