Совместимость C# и MS Office 2010
Когда запускаю код готовой кнопочкой, всё работает, когда нажимаю Run в самом коде, предлагает выполнить Last successful buildЧто ты понимаешь под "готовой кнопочкой", и под "Run в самом коде"?
Ошибка, которую ты приводишь, вызвана тем, что у тебя нет ссылок на сборки Microsoft.Office.Interop.Excel . Посмотри References твоего проекта в окне Solution Explorer.
Чем грозит простое исполнение Last successful build?Ничем, просто твои изменения не компилируются, и запускается старая версия программы.
Да, в окошке References Project Explorer'a эти ссылки, в отличие от остальных, обозначены не серым кирпичиком, а кирпичиком с восклицательным знаком. В окошке ниже (Properties) для них есть поле Isolated, в отличие от "правильных", и, в отличие от других полей, не бледно-серое, а чёрное. Больше ничего не нажимается, не делается...
Что можно поправить?
Что можно поправить?
Попробуй удалить референсы и заново их вставить. Могло именование поменяться
Скорее всего, их и не было. Они здесь:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=...
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=...
Удалить и вставить снова - то есть стереть эти две строчки, сохранить код без них, написать снова, а потом запускать?
А если, как пишет , их не было (правильно я понимаю, это значит, что того, что эти строчки подключают, теперь по странным причинам нет? то что делать?
А если, как пишет , их не было (правильно я понимаю, это значит, что того, что эти строчки подключают, теперь по странным причинам нет? то что делать?
Удалить и вставить снова - то есть стереть эти две строчки, сохранить код без них, написать снова, а потом запускать?Нет, это значит, выделить строчку с кирпичиком в Project Explorer, нажать Del, а потом сделать Add reference заново
А как делать Add? Когда нажимаю правую кнопочку на слово References, такая опция есть, но неактивная (серенькая). И как я потом найду, что вставить, если удалю?
И они даже не удаляются, нет такой опции... 

тут моя телепатия отказывает, прошу скриншоты студии в студию.
скриншот №1:
скриншот №1:
Когда нажимаю правую кнопочку на слово References, такая опция есть, но неактивная (серенькая).скриншот №2: окошко Project Properties, закладка Application
Доступ выгружать файлы запрещён, не получается! 
Могу только написать, что при нажатии правой кнопки на References в Project Explorer появляется окошко с тремя опциями: Add Reference, Add Web Reference и Add Service Reference - и все серенькие, а при нажатии на одну из составляющих тех самых References (в проблемном случае - Excel и Microsoft.Office.Core) появляется окошко с единственной опцией Properties, если её выбрать, просто станет активным окошко более подробной информации ниже.

Могу только написать, что при нажатии правой кнопки на References в Project Explorer появляется окошко с тремя опциями: Add Reference, Add Web Reference и Add Service Reference - и все серенькие, а при нажатии на одну из составляющих тех самых References (в проблемном случае - Excel и Microsoft.Office.Core) появляется окошко с единственной опцией Properties, если её выбрать, просто станет активным окошко более подробной информации ниже.
Ой, оказалось, когда закрыла исполняемое окошко, стало можно редактировать... 
Как тогда найти эти же самые ссылки после удаления?

Как тогда найти эти же самые ссылки после удаления?
запомнить имя, а потом искать его в открывшемся окне на закладке .NET
А там совсем нет таких... Даже просто начинающихся на Microsoft.Office.
То есть теперь C# вообще не будет с ним работать?...
То есть теперь C# вообще не будет с ним работать?...
Ты попробовала скачать и установить PIA?
Что это такое?
Мне нельзя самостоятельно (всё заблокировано, даже если попытаюсь
)...
Мне нельзя самостоятельно (всё заблокировано, даже если попытаюсь
)...Primary Interop Assemblies, сборки, которые нужны для работы с офисом.
Тогда попробуй извлечь их из msi или скопировать с другого компа и добавить через add existing assembly.
Тогда попробуй извлечь их из msi или скопировать с другого компа и добавить через add existing assembly.
1 - попробуй поискать эти интеропы в програм файлсс.
2 - скажи, под каким фреймворком у тебя проект собран. может это какой дремучий, старые интеропы затерлись, а новые ты не подцепишь из-за конфликта фреймворков.
PIA качаешь тут, если что линк. А открываешь их в любую папку при помощи любого msi extractor-a. Только я хз, надо ли по ним regsvr32 пробегать или так подцепит? Оттуда их в референсы добавляешь через вкладку Browse
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 нужно смотреть?
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 для соответствующего процесса, скопировал бы их с той машины на эту, переставил ссылки на сборки.
У тебя есть компьютер, на котором это работает? Я бы сделал так: запустил программу на нём, посмотрел бы Dlls в программе Process Explorer для соответствующего процесса, скопировал бы их с той машины на эту, переставил ссылки на сборки.
а может надо просто попробовать, а не спрашивать на форуме, что может быть?
У меня есть только терминал, на котором могу использовать Visual Studio. В минимальной мере... На нём даже диспетчер задач недоступен...
Попробую сейчас 8 - > 10... Можно прямо так?
Попробую сейчас 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? И что сделать, чтобы всё же программа работала должным образом?