0 / 0 / 0
Регистрация: 15.06.2016
Сообщений: 11
1
VS 2015

Откуда взялся ServiceLocator?!

15.06.2016, 17:50. Показов 1724. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!

Есть мой ноут и служебный. На обоих установлена Visual Studio Community 15 (32 бит).
На моём Windows 10 (32 бит), на служебном - Windows 10 (64 бит).
На моём ноуте приложение запускается и начинает правильно выполняться, а на служебном это же скопированное решение выдаёт форму "Найти исходный код ServiceLocator.cs". Такого файла на обоих компьютерах нет! Почему на служебном ноуте VS во время компиляции понадобился этот файл?!!

Четыре раза переустанавливал VS - без результата. Сейчас готовлю себя к мысли о чистой переустановке служебного ноута, чего очень не хочется. Может быть в консерватории (системных настройках) что-то подправить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2016, 17:50
Ответы с готовыми решениями:

Откуда взялся прокси?
Я как-то оказался за прокси, не знаю как, и не знаю как определить откуда он взялся, пров подсунул...

Откуда взялся ноль?
В самоучителе задан такой синтаксис: if a = 28 then WriteLn(f) else k:= 44; на этого...

Откуда взялся пароль?
Здравствуйте, тут такая проблема. Вобщем, у меня на ноутбуке откуда-то взялся пароль. Поставить...

откуда взялся тиц 140
У основного домена есть поддомены с нормальным тИЦ Сам домен не раскручивался, не продвигался.....

12
Master of Orion
Эксперт .NET
6100 / 4956 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
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
Эксперт .NET
6100 / 4956 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
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
Master of Orion
Эксперт .NET
6100 / 4956 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
16.06.2016, 10:49 6
ssn1, переставлять винду чтобы настроить нугет это сурово
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
Master of Orion
Эксперт .NET
6100 / 4956 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
21.06.2016, 16:30 9
ssn1, в смысле скопировать? Зачем копировать? У вас она как-то в GAC попала, нужно чтобы она и на рабочем так же попала.
0
Эксперт .NET
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
Эксперт .NET
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2016, 19:25
Помогаю со студенческими работами здесь

Откуда взялся элемент в массиве?
var person = { func: function(name, age, ip) { this.name = name; this.age = age; this.ip...

Build Error 1. откуда взялся?
в универе простые задачки решали письменно, решила попробовать прогу создать по одной из...

Как определить откуда взялся PR
На днях вспомнил про сайт который сделал когда то и забыл. У некоторых страниц PR 2 а раньше был 0,...

Откуда взялся этот отступ
Только начал сайт верстать и тут такая проблема, как убрать отступ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru