0 / 0 / 0
Регистрация: 15.06.2016
Сообщений: 11
|
|
1 | |
VS 2015 Откуда взялся ServiceLocator?!15.06.2016, 17:50. Показов 1724. Ответов 12
Метки нет (Все метки)
Здравствуйте!
Есть мой ноут и служебный. На обоих установлена Visual Studio Community 15 (32 бит). На моём Windows 10 (32 бит), на служебном - Windows 10 (64 бит). На моём ноуте приложение запускается и начинает правильно выполняться, а на служебном это же скопированное решение выдаёт форму "Найти исходный код ServiceLocator.cs". Такого файла на обоих компьютерах нет! Почему на служебном ноуте VS во время компиляции понадобился этот файл?!! Четыре раза переустанавливал VS - без результата. Сейчас готовлю себя к мысли о чистой переустановке служебного ноута, чего очень не хочется. Может быть в консерватории (системных настройках) что-то подправить?
0
|
15.06.2016, 17:50 | |
Ответы с готовыми решениями:
12
Откуда взялся прокси? Откуда взялся ноль? Откуда взялся пароль? откуда взялся тиц 140 |
Master of Orion
|
|
15.06.2016, 17:54 | 2 |
Сообщение было отмечено tezaurismosis как решение
Решение
ssn1, не путайте сборку и запуск по дебагом. Если вы соберете проект, то он соберется или выдаст ошибку сборки, если файлов недостаточно.
Если файлов достаточно, то он соберется, и потом можно запустить. Подобная фигня возникает, когда вы пытаетесь отладить библиотеку (у вас ведь используется какой-то контейнер типа инверсий зависимости и т.п., через который вы создаете объекты?), то эта фигня и возникает. Можно просто нажать "cancel" на этом диалоге просто, и тогда он не будет его отлаживать. Но не уверен, что вам нужно отлаживать чужую библиотеку. Проверьте кстати галки "enable just my code", она должна быть включена. Добавлено через 40 секунд ssn1, и кстати не путайте студию 15 и 2015. если у вас просто 15 (которая бета), то ошибкам удивляться не стоит.
1
|
0 / 0 / 0
Регистрация: 15.06.2016
Сообщений: 11
|
|
15.06.2016, 20:16 [ТС] | 3 |
Спасибо за такой быстрый ответ!! Не ожидал!
Когда нажимаю "Отмена" на форме с несуществующим файлом (и несуществующим путём к нему), то возникает исключение времени выполнения: ServiceLocatorProvider must be set и всё зависает. Само решение состоит из 14-ти сборок и 21 NuGet пакетов. В его разработке я не участвовал и контакта с авторами не имею. У меня стоят VS 2015. На обоих ноутах галка "Включить только мой код" была выключена. Включил - не помогло. На своём ноуте я собрал решение и запустил его под дебагом - всё пошло хорошо. После этого всё решение через флэшку скопировал на служебный ноут и без пересборки также запустил под дебагом - пошёл запрос Сервис локатора... ЗЫ Насчёт "не помогло" беру паузу - надо же пересобрать в таком режиме! Добавлено через 8 минут ЗЫЗЫ Помогло!!! Сервис локатор пропал! И появилась другая ошибка. Но это уже совсем другая история... Спасибо!! Добавлено через 1 час 44 минуты Рано я радовался! :-(( Когда я игнорировал новое исключение, следующим появилось то с сервислокатором... Это повторилось после компиляции и пересборки решения на моём ноуте и простым запуском компиляции на служебном. Когда же я пересобрал поочереди все сборки на служебном ноуте, то одна не собралась и выдала такие две ошибки: 13>C:\...\Projects\TTTT\TTTT.Main\obj\x86\Debug\Views\Measurement\Diagrams.g.cs( 26,22,26,35): error CS0234: Тип или имя пространства имен "Interactivity" не существует в пространстве имен "System.Windows" (возможно, отсутствует ссылка на сборку). 13>C:\...\Projects\TTTT\TTTT.Main\obj\x86\Debug\Views\Measurement\Diagrams_.g.cs (26,22,26,35): error CS0234: Тип или имя пространства имен "Interactivity" не существует в пространстве имен "System.Windows" (возможно, отсутствует ссылка на сборку). Как же это получается у служебного ноута портить нормально собранное решение?!!
0
|
Master of Orion
|
|
15.06.2016, 20:18 | 4 |
Сообщение было отмечено ssn1 как решение
Решение
ssn1, у вас какая-то зависимость не разрешилась. Проверьте настройки нугета на одном компе и другом: %appdata%\NuGet\NuGet.Config
1
|
0 / 0 / 0
Регистрация: 15.06.2016
Сообщений: 11
|
|
16.06.2016, 10:38 [ТС] | 5 |
Да, проблема была в настройках нугет пакетов. На служебном ноуте Win 10 (64 bit), два раздела Programm Files и разные места хранения пакетов, которые требуют отдельных настроек.
Решил на служебном ноуте сделать чистую установку Win 10 (32 bit), чтобы на обоих ноутах все настройки были одинаковыми. Спасибо!!
0
|
0 / 0 / 0
Регистрация: 15.06.2016
Сообщений: 11
|
|
16.06.2016, 12:57 [ТС] | 7 |
:-)
Настройка нугета - это серъёзный повод, чтобы, наконец-то, накатить чистую винду и на служебный, и на личный ноут! Без такого повода эти процессы постоянно откладывались. :-)
0
|
0 / 0 / 0
Регистрация: 15.06.2016
Сообщений: 11
|
|
21.06.2016, 16:05 [ТС] | 8 |
Сделал чистую установку Win 10 на служебный ноут - не помогло. Те же ошибки... :-((
Хуже того, оказалось, что эти же ошибки появляются и на личном ноуте, если пытаться пересобирать TTTT.Main!! А я ранее пересобирал всё решение, а потом запускал всё приложение. Видимо, оно запускалось на старом TTTT.exe и не выдавало ошибки. А на служебном даже решение не пересобирается... Начал сравнивать ссылки. Оказалось, что на служебном ноуте отсутствует сборка Microsoft.VisualStudio.Tools.Office.Runtime.v10.0. Ссылка на неё есть, а самой сборки - нет. На личном же ноуте эта сборка находится в глобальном кэше. На служебном ноуте пробовал найти её в нугет-пакетах - нет таких. Решил скопировать эту сборку из кэша личного ноута в кэш служебного. Но, как я понял, простым копипастом не получится. Как мне это сделать с помощью gacutil? Как её извлечь (скопировать из глобального кэша личного ноута?
0
|
6507 / 4084 / 1605
Регистрация: 09.05.2015
Сообщений: 9,548
|
|
21.06.2016, 16:36 | 10 |
Сборка Microsoft.VisualStudio.Tools.Office.Runtime.v10.0 является частью Visual Studio Tools for Office, видимо у вас эти tools просто не установлены...
0
|
0 / 0 / 0
Регистрация: 15.06.2016
Сообщений: 11
|
|
21.06.2016, 17:25 [ТС] | 11 |
Почему сборка не установилась на служебном ноуте - не знаю! Устанавливал на чистую винду из ISO-образа VS. Может там что-то пропустилось? Все нугет-пакеты на обоих ноутах идентичны.
Скопировал эту сборку старым FAR'ом на флэшку (Проводник не хотел копировать), перенёс на служебный ноут и gacutil'ом импортировал в глобальный кэш. Сейчас буду пробовать. А как гарантированно установить Visual Studio Tools for Office? Добавлено через 8 минут Ура! Ссылка на эту сборку появилась! А проблема из первого поста осталась: нет ссылки на сборку System.Windows.Interactivity. Но уже для обоих ноутбуков... В каком нугет пакете прячется эта сборка?
0
|
6507 / 4084 / 1605
Регистрация: 09.05.2015
Сообщений: 9,548
|
|
21.06.2016, 17:35 | 12 |
System.Windows.Interactivity является частью Expressions Blend SDK, который по идее должен устанавливаться вместе с VS, у меня эта сборка лежит в папке c:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.5\Libraries.
2
|
0 / 0 / 0
Регистрация: 15.06.2016
Сообщений: 11
|
|
21.06.2016, 19:25 [ТС] | 13 |
Нашёл!
Более того, случайно :-) обнаружил, что и в обозревателе решений при вставке ссылки эта сборка видна! Но сделать на неё ссылку из обозревателя решений не получилось. Как правильно сделать ссылку? ЗЫ Кажется придётся по всем конфигурационным файлам настраивать правильную версию этой сборки... Добавлено через 32 минуты Победа, вроде, близка, а не получается... В App.config каждого из 12 модулей решения есть такой код: <dependentAssembly> <assemblyIdentity name="System.Windows.Interactivity" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> </dependentAssembly> Во всех этих модулях в обозревателе решений я наступал на папку "Ссылки", в контекстном меню выбирал "Добавить ссылку", потом нажимал кнопку "Расширения" и выбирал System.Windows.Interactivity 4.0.0.0. и OK. Пересобирал сборку и решение, но в папке "Ссылки" ссылка на System.Windows.Interactivity не появилась. Были выданы те же ошибки об отсутствии ссылки на System.Windows.Interactivity. Как надо правильно вставить ссылку? Добавлено через 36 минут Импортировал сборку System.Windows.Interactivity из Bland в глобальный кэш - не помогло. Ссылки нет... Добавлено через 23 минуты Разобрался! Ссылку надо вводить с абсолютным путём. Тогда она в решении появляется.
0
|
21.06.2016, 19:25 | |
21.06.2016, 19:25 | |
Помогаю со студенческими работами здесь
13
Откуда взялся элемент в массиве? Build Error 1. откуда взялся? Как определить откуда взялся PR Откуда взялся этот отступ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |