Dot-Net

無法從程序集中嵌入互操作類型

  • June 21, 2019

我知道以前在這裡問過類似的問題,但我不確定它們是否真的解決了我的問題,除非我誤解了它們。

我今天早上一直在開發一個應用程序,建構或重建解決方案沒有任何問題,但是在吃完午餐然後回來(我讓程序打開)之後,我突然無法建構它,因為它是返回 3 個錯誤,我以前沒有遇到過類似的錯誤。

錯誤一:

無法從程序集“office”嵌入互操作類型,因為它缺少“ImportedFromTypeLib”屬性或“PrimaryInteropAssembly”屬性。

錯誤2:

無法從程序集“office”嵌入互操作類型,因為它缺少“Guid”屬性

錯誤 3:

無法載入引用的庫 ‘C:\WINDOWS\assembly\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 對像庫。那我該怎麼辦?他們在應用程序打開時出現似乎很奇怪?

我相信這不是答案。您可能已將程序集屬性視窗中的嵌入互操作類型標記為“真”。通過刪除和添加引用,您已將其設置回預設值,即“false”。

在此處的答案和一些進一步研究的指導下,僅看到錯誤 1 和 2,為我解決的問題是:

參考 -> Microsoft.CSharp -> 屬性 - 將“嵌入互操作類型”更改為“假”,然後重新建構。

引用自:https://stackoverflow.com/questions/39491801