Совместимость C# и MS Office 2010
Когда запускаю код готовой кнопочкой, всё работает, когда нажимаю Run в самом коде, предлагает выполнить Last successful buildЧто ты понимаешь под "готовой кнопочкой", и под "Run в самом коде"?
Ошибка, которую ты приводишь, вызвана тем, что у тебя нет ссылок на сборки Microsoft.Office.Interop.Excel . Посмотри References твоего проекта в окне Solution Explorer.
Чем грозит простое исполнение Last successful build?Ничем, просто твои изменения не компилируются, и запускается старая версия программы.
Что можно поправить?
Попробуй удалить референсы и заново их вставить. Могло именование поменяться
Скорее всего, их и не было. Они здесь:
А если, как пишет , их не было (правильно я понимаю, это значит, что того, что эти строчки подключают, теперь по странным причинам нет? то что делать?
Удалить и вставить снова - то есть стереть эти две строчки, сохранить код без них, написать снова, а потом запускать?Нет, это значит, выделить строчку с кирпичиком в Project Explorer, нажать Del, а потом сделать Add reference заново
А как делать Add? Когда нажимаю правую кнопочку на слово References, такая опция есть, но неактивная (серенькая). И как я потом найду, что вставить, если удалю?
И они даже не удаляются, нет такой опции...
скриншот №1:
Когда нажимаю правую кнопочку на слово References, такая опция есть, но неактивная (серенькая).скриншот №2: окошко Project Properties, закладка Application
Могу только написать, что при нажатии правой кнопки на References в Project Explorer появляется окошко с тремя опциями: Add Reference, Add Web Reference и Add Service Reference - и все серенькие, а при нажатии на одну из составляющих тех самых References (в проблемном случае - Excel и Microsoft.Office.Core) появляется окошко с единственной опцией Properties, если её выбрать, просто станет активным окошко более подробной информации ниже.
Как тогда найти эти же самые ссылки после удаления?
запомнить имя, а потом искать его в открывшемся окне на закладке .NET
То есть теперь C# вообще не будет с ним работать?...
Ты попробовала скачать и установить PIA?
Мне нельзя самостоятельно (всё заблокировано, даже если попытаюсь )...
Тогда попробуй извлечь их из msi или скопировать с другого компа и добавить через add existing assembly.
2 - скажи, под каким фреймворком у тебя проект собран. может это какой дремучий, старые интеропы затерлись, а новые ты не подцепишь из-за конфликта фреймворков.
PIA качаешь тут, если что линк. А открываешь их в любую папку при помощи любого msi extractor-a. Только я хз, надо ли по ним regsvr32 пробегать или так подцепит? Оттуда их в референсы добавляешь через вкладку Browse
public const string XLS_1 = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=F:\\Tasks\\Person\\Claim.xls;" + "Extended Properties=Excel 8.0";
8 на 10?
В каких Program Files нужно смотреть?
У тебя есть компьютер, на котором это работает? Я бы сделал так: запустил программу на нём, посмотрел бы Dlls в программе Process Explorer для соответствующего процесса, скопировал бы их с той машины на эту, переставил ссылки на сборки.
а может надо просто попробовать, а не спрашивать на форуме, что может быть?
Попробую сейчас 8 - > 10... Можно прямо так?
Попробую сейчас 8 - > 10... Можно прямо так?МОжно. а браузер и паинт доступен*? если да то сделай скрипшот и скинь в форум!
Оставить комментарий
maximovega
Ребята, доброе утро!Посоветуйте, что нужно сделать, чтобы начала работать программа в C#.
Ситуация такова:
Код начинается подключением следующего (приведу только то, что вызвало проблему; подчёркнуто волнистой линией, подчёркивается только слово Office):
using Microsoft.Office.Interop.Excel;
using Excel = Microsoft.Office.Interop.Excel;
Когда запускаю код готовой кнопочкой, всё работает, когда нажимаю Run в самом коде, предлагает выполнить Last successful build (правильно я понимаю, что кнопочка автоматически, не спросив разрешения, этот Last successful build выполняет?) и приводит список из двух ошибок и четырёх предупреждений:
Error 1: The type or namespace name 'Office' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
Error 2: то же самое, только про вторую строчку (подчёркнутую)
Warning 1: Cannot find wrapper assembly for type library “Excel“
Warning 2: Cannot find wrapper assembly for type library “Microsoft.Office.Core“
Warning 3: The referenced component “Excel“ could not be bound
Warning 4: The referenced component “Microsoft.Office.Core“ could not be bound
Проблемы появились после установки Office 2010. Других изменений, кажется, не было.
Чем грозит простое исполнение Last successful build? И что сделать, чтобы всё же программа работала должным образом?