C# - 无法嵌入互操作类型 - 仍将 'Embed Interop Types' 属性 设置为 false
C# - Cannot embed interop type - still set 'Embed Interop Types' property to false
构建项目时出现以下错误:
"Cannot embed interop type 'Microsoft.Office.Core.MsoXXX' found in both assembly 'c:\Windows\assembly\GAC_MSIL\office.0.0.0__71e9bce111e9429c\OFFICE.DLL' and 'c:\myProject\lib\OFFICE.DLL'. Consider setting the 'Embed Interop Types' property to false."
我遇到了 130 个这样的错误,每个错误都有另一个 Microsoft.Office.Core.MsoXXX,例如 MsoLineDashStyle 或 MsoSyncStatusType。
实际上,Visual Studio 中项目中的大多数引用都将 属性 设置为 TRUE。所以我将它们全部更改为 FALSE,尤其是 OFFICE.dll。
错误仍然出现。
VS 重启后,embed interop ist 的 属性 仍然设置为 FALSE。
同一地图中的另一个项目使用完全相同的 OFFICE.dll(也位于 c:\myProject\lib\OFFICE.DLL)并且也将标志设置为 FALSE。构建这个项目确实工作得很好。
项目有点老,好久没建了。
除了一个未知物体外,VS 没有发现任何明显的错误。因此,我预计会出现进一步的编译错误。我不知道这是否与嵌入标志问题有关。
任何想法可能是错误的或如何解决它?
提前致谢。
我通过realive得到答案:
来自错误消息的两个 dll 中的第一个
(c:\Windows\assembly\GAC_MSIL\office.0.0.0__71e9bce111e9429c\OFFICE.DLL)
实际上被命名为 Windows.Microsoft.Office.Core
而第二个参考
(c:\myProject\lib\OFFICE.DLL)
被命名为 OFFICE.DLL.
两者在项目中并存。删除我项目中的两个引用之一后,不再有任何问题。
我也能够编译和 运行 带有 embed-flag = TRUE!
的代码
所以这里的错误信息是误导。
感谢收听。
构建项目时出现以下错误:
"Cannot embed interop type 'Microsoft.Office.Core.MsoXXX' found in both assembly 'c:\Windows\assembly\GAC_MSIL\office.0.0.0__71e9bce111e9429c\OFFICE.DLL' and 'c:\myProject\lib\OFFICE.DLL'. Consider setting the 'Embed Interop Types' property to false."
我遇到了 130 个这样的错误,每个错误都有另一个 Microsoft.Office.Core.MsoXXX,例如 MsoLineDashStyle 或 MsoSyncStatusType。
实际上,Visual Studio 中项目中的大多数引用都将 属性 设置为 TRUE。所以我将它们全部更改为 FALSE,尤其是 OFFICE.dll。 错误仍然出现。
VS 重启后,embed interop ist 的 属性 仍然设置为 FALSE。
同一地图中的另一个项目使用完全相同的 OFFICE.dll(也位于 c:\myProject\lib\OFFICE.DLL)并且也将标志设置为 FALSE。构建这个项目确实工作得很好。
项目有点老,好久没建了。 除了一个未知物体外,VS 没有发现任何明显的错误。因此,我预计会出现进一步的编译错误。我不知道这是否与嵌入标志问题有关。
任何想法可能是错误的或如何解决它? 提前致谢。
我通过realive得到答案:
来自错误消息的两个 dll 中的第一个 (c:\Windows\assembly\GAC_MSIL\office.0.0.0__71e9bce111e9429c\OFFICE.DLL) 实际上被命名为 Windows.Microsoft.Office.Core
而第二个参考 (c:\myProject\lib\OFFICE.DLL) 被命名为 OFFICE.DLL.
两者在项目中并存。删除我项目中的两个引用之一后,不再有任何问题。 我也能够编译和 运行 带有 embed-flag = TRUE!
的代码所以这里的错误信息是误导。 感谢收听。