2011-05-21 38 views
1

我想開發一個應用程序,但隨後這些警告彈出。我曾嘗試禁用我的反病毒軟件(Avira),但它仍然無法正常工作。Reference Component找不到

Warning 1 Resolved file has a bad image, no metadata, or is otherwise inaccessible. Could not load file or assembly 'MyAssembly.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. ConsoleApplication1 

Warning 2 The referenced component 'MyAssembly' could not be found. 

有人能幫我嗎?謝謝!

+0

檢查引用。您是否刪除了之前引用的「MyAssembly.dll」? – Oded 2011-05-21 06:26:46

+0

不,我沒有。其實一個朋友給了我這個DLL,我可以用我的應用程序。我試圖通過添加引用將其添加到我的解決方案中。但是,在添加之後,彈出警告消息。 – Smiley 2011-05-21 06:30:18

回答

6

什麼.NET運行時版本是您的應用程序正在開發?

如果錯誤是可信的,那麼您的項目就是.NET 3.5(2.0運行時)項目,但MyAssembly庫是在.NET 4.0中開發的,會導致您看到的錯誤。

不能在較舊的運行時版本項目中引用較新的運行時版本程序集。您必須「升級」您的項目,以至少匹配給您的程序集的框架版本。

右鍵單擊您的項目文件並選擇屬性。根據您使用的Visual Studio版本,此屏幕可能看起來不同,但轉到應用程序選項卡並查看目標框架是什麼。

Project Properties

然後去你在引用中引用的組件,然後選中「運行時版本」的屬性部分:

Ref

+0

嗨,我試過了,目標框架向我展示了下拉列表中的三項:.NET框架2.0,3.0,3.5。我目前使用3.5。我嘗試在這三個之間切換,但它仍然無法工作。這是否意味着我將不得不升級到.NET Framework 4.0? – Smiley 2011-05-21 06:43:53

+0

驗證您的朋友程序集是如上所述的.NET 4.0。如果是,那麼是的,唯一可以實現的方法是升級到4.0項目。如果它不是一個4.0程序集,那麼其他的東西就是一個進展。 – Khepri 2011-05-21 06:46:02

+1

嗨,我試着查看我的程序集的屬性,它顯示一個空白的運行時版本和路徑。它顯示的版本是0.0.0.0。我的DLL到底怎麼了? ( – Smiley 2011-05-21 06:49:54

相關問題