我知道以前也有人问过类似的问题,但我不确定它们是否真的解决了我的问题,除非我误解了它们。
今天早上我一直在处理一个应用程序,没有任何问题来构建或重建解决方案,但是在吃了午饭,然后回来之后(我把程序打开了),我突然无法构建它,因为它正在返回3个错误,这是我以前从未见过的。
错误1:
无法嵌入程序集'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
是什么导致这些错误突然出现?
在签入Properties > Reference > Add > COM之后,我可以看到引用了Office15.0对象库。那我该怎么办?当应用程序打开时,它们出现似乎很奇怪吗?
发布于 2016-09-14 16:28:22
正因为如此,这一点在未来的余生和任何有同样问题的未来潜在用户中都不会被标记出来,答案是,正如@soohoonigan和@TnTinMn所建议的:
发布于 2018-01-07 09:44:51
只看到错误1和2,在这里的答案和一些进一步的研究的指导下,我解决了这个问题:
引用-> Microsoft.CSharp -> Properties --将“Embed类型”更改为“False”,然后重新构建。
发布于 2019-06-21 07:04:46
实际的问题是,解决方案中的引用被设置为将Interop类型嵌入到目标程序集!只需检查引用的属性并将其设置为所有标记为false。
https://stackoverflow.com/questions/39491801
复制相似问题