2016-09-14 2 views
4

Я знаю, что подобные вопросы были заданы здесь раньше, но я не уверен, что они действительно решают мою проблему, если я не понимаю их.Невозможно встраивать типы прерываний из сборки

Я сегодня утром работал над приложением и не возникал проблем с созданием или восстановлением решения, но после того, как я отправился на обед, а затем вернулся (я оставил программу открытой), мне вдруг не удалось ее построить , так как он возвращает 3 ошибки, которым я раньше не сталкивался.

Ошибка 1:

Не удается внедрить типы Interop из сборки «офиса», так как он отсутствует либо атрибут «ImportedFromTypeLib» или атрибут «PrimaryInteropAssembly».

Ошибка 2:

Не удается внедрить типы Interop из сборки 'офиса', так как он отсутствует атрибут 'Guid'

Ошибка 3:

Не удалось load referenced library 'C: \ WINDOWS \ assembly \ GAC_MSIL \ Office \ 15.0.0.0__71e9bce111e9429c \ Office.dll': система не может найти указанный файл. C: \ WINDOWS \ сборка \ 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 и затем снова добавьте , Ошибка 'can not find the file' заставляет меня задаться вопросом, выполнил ли ваш ИТ-отдел некоторое обновление во время обеда. – TnTinMn

ответ

8

Просто так это не без опознавательных знаков для остальной части вечности и для любых потенциальных будущих пользователей с той же проблемой, ответ, как это было предложено @soohoonigan и @TnTinMn:

  • Чистых и перестроить решение.
  • Если это не сработает, удалите ссылки и снова добавьте их.
-1

Я считаю, что это не ответ. Вероятно, вы отметили Embed Interop Types в окне свойств сборки до «true». По удалению & добавьте ссылку, которую вы установили в качестве значения по умолчанию, которое является «ложным».

1

По умолчанию «true», а не «false». Поэтому, удалив его и добавив снова, вы устанавливаете его в «true».

0

Проводы только ошибки 1 и 2, руководствуясь ответами здесь и некоторые дальнейшие исследования, то, что решить этот вопрос для меня был:

Ссылки -> Microsoft.CSharp -> Свойства - изменить «Вставить Interop Types» в «Неверно», а затем перестроить.

Смежные вопросы