2012-01-05 26 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中添加缺少的參考。