Сообщение об ошибке: из сборки невозможно внедрить типы взаимодействия из сборки

Я использую .NET Framework 4.8, а я использую библиотеку ClosedXML, но моя программа представляет собой тип программы библиотеки классов, поэтому dll программы попадет в другую папку, где все другие дополнительные dll, такие как dll ClosedXML, не могут быть там в этой папке. Поэтому, если я хочу выполнить dll, я получаю сообщение об ошибке, что ссылки на сборку не найдены, что логично, потому что в другой папке все dll, такие как ClosedXML, не находятся в папке и на них нельзя ссылаться.

Итак, что я пытался сделать, так это встроить Interop Type в значение true.

Но когда я устанавливаю значение true, я получаю эти два сообщения об ошибках:

      Error CS1747 Interoptypes cannot be embedded from assembly "DocumentFormat.OpenXml, Version=2.19.0.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17" because the System.Runtime.InteropServices.GuidAttribute attribute is missing.

и

      Error CS1759 Cannot embed interoptypes from assembly "DocumentFormat.OpenXml, Version=2.19.0.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17" because either the System.Runtime.InteropServices.ImportedFromTypeLibAttribute attribute or the System.Runtime.InteropServices.PrimaryInteropAssemblyAttribute attribute is missing.

то, что я пытался решить эту проблему, было сначала перестроить все решение и установить новую dll.

И я попытался добавить этот код в файл Assemblyinfor.cs:

      [assembly: System.Runtime.InteropServices.Guid("2e197457-53cd-4261-81b6-07c65281b2a3")]
[assembly: PrimaryInteropAssembly(1, 0)]

но я все еще получаю сообщение об ошибке, все dll находятся в самой новой версии.

Кто-то знает, как установить для Interop Type значение true, не получая этого сообщения об ошибке?

0 ответов

Другие вопросы по тегам