2016-09-14 54 views
4

我知道在此之前已經提出類似的問題,但我不確定它們是否真的解決了我的問題,除非我誤解了它們。不能從組件中嵌入互操作類型

今天早上我一直在做一個應用程序,並沒有任何問題構建或重建解決方案,但是在我吃完午飯然後回來之後(我離開了程序),我突然無法構建它,因爲它返回了3個錯誤,這些錯誤之前我沒有遇到過。

錯誤1:

不能嵌入彙編「辦公室」互操作類型,因爲它缺少要麼「ImportedFromTypeLib」屬性或「PrimaryInteropAssembly」屬性。

錯誤2:

無法嵌入來自程序集 '辦公室' 的互操作類型,因爲它缺少 '的Guid' 屬性

錯誤3:

無法加載引用庫'C:\ WINDOWS \程序集\ GAC_MSIL \ Office \ 15.0.0.0__71e9bce111e9429c \ Office.dll':系統找不到指定的文件。 C:\ WINDOWS \ assembly \ GAC_MSIL \ Office \ 15.0.0.0__71e9bce111e9429c \ Office.dll

是什麼導致這些錯誤突然出現?

簽入項目屬性>參考>添加> COM後,我可以看到引用了Office 15.0對象庫。那麼我該怎麼做?在應用程序開放的時候,它們出現的時候似乎很奇怪?

+0

你係統上的'dir C:\ WINDOWS \ assembly \ GAC_MSIL \ Office \ 15.0.0.0__71e9bce111e9429c \ Office.dll'的輸出是什麼(即實際存在的引用文件)? –

+1

我遇到過這種異常,它只是在調試版本之間彈出。對我來說,最終我所做的只是構建>清理解決方案,然後構建>重建它,並且異常消失,因此可能值得一試 – soohoonigan

+1

如果@ soohoonigan的建議無效,請刪除Office引用,然後再添加。 '找不到文件'錯誤讓我懷疑你的IT部門是否在午餐時進行了一些更新。 – TnTinMn

回答

8

正是這樣,這不是無人盯防的永恆的休息和具有相同問題的任何未來潛在的用戶,得到的答案是,作爲建議的@soohoonigan和@TnTinMn:

  • 清潔和重建解。
  • 如果這不起作用,請刪除引用,然後重新添加它們。
-1

我相信這不是答案。可能您已經在裝配屬性窗口中將Embed Interop Types標記爲'true'。通過刪除&添加引用,您已將其設置回默認值,即'false'。

1

默認值爲「true」,而不是「false」。所以通過刪除它並再次添加它,您將它設置爲「true」。

0

只看到錯誤1和2,這裏的答案和一些進一步的研究,解決了什麼問題,我引導是:

參考 - > Microsoft.CSharp - >屬性 - 改變「嵌入互操作類型」來'假'然後重建。

相關問題