powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / У WPF как минимум две ветки развития?
15 сообщений из 15, страница 1 из 1
У WPF как минимум две ветки развития?
    #38539400
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто работал с командами и прикрепляемыми поведениями Blend (Expression Blend), знает, что на библиотеке System.Windows.Interactivity может возникнуть затык, если работать не в Бленде, а в Студии. Дело в том, что эти блендовские штучки находятся в такой же по названию библиотеке - System.Windows.Interactivity - как и родная дотнетовская, но содержат другой код. Что же получается, команда Бленда втихую переписывает часть WPF, замещая дотнетовские пространства имён своими? Т. е. у WPF уже две ветки развития - "видение команды .NET" и "видение команды Expression Blend"?

Естественно, ничего хорошего простым программистам такая путаница не приносит - люди могут часами сидеть на "этим тупым багом Студии", не зная, что нужно всего лишь подключить одноимённую библиотеку, но из другой сборки. И ведь хер же поймёшь, что ему надо. Интернет заполнен темами с подобными ошибками

авторError Undefined CLR namespace. The 'clr-namespace' URI refers to a namespace 'Microsoft.Practices.Prism.Interactivity' that could not be found.

Более того, долбаный дизайнер (программа) в Студии продолжает периодически показывать эту ошибку, даже если указать на правильную сборку.

У них там все дома?!
...
Рейтинг: 0 / 0
У WPF как минимум две ветки развития?
    #38539903
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320У них там все дома?!Нет.
...
Рейтинг: 0 / 0
У WPF как минимум две ветки развития?
    #38539913
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Кто работал с командами и прикрепляемыми поведениями Blend (Expression Blend), знает, что на библиотеке System.Windows.Interactivity может возникнуть затык, если работать не в Бленде, а в Студии.
Нет, я не знаю. С attached behaviors работал, и всегда именно в студии - я бленд как среду разработки видел 2 раза в жизни издалека.
user7320такой же по названию библиотеке - System.Windows.Interactivity - как и родная дотнетовская
Не затруднить дать ссылку на msdn с описанием "родного дотнетовского" неймспейса System.Windows.Interactivity? Я нашел только вот это: http://msdn.microsoft.com/en-us/library/system.windows.interactivity(v=expression.40).aspx - и там английским по-белому написано, что это часть Expression Blend SDK. Ну и, наконец, у меня на компьютере и на работе, и дома эта штука есть только от бленда - см. аттач.
user7320Error Undefined CLR namespace. The 'clr-namespace' URI refers to a namespace 'Microsoft.Practices.Prism.Interactivity' that could not be found.
Это ошибка призмы, вообще-то. И причина её достаточно проста: http://stackoverflow.com/questions/9650778/prism-assembly-reference-failure-system-windows-interactivity
user7320Интернет заполнен темами с подобными ошибками
А еще интернет заполнен темами с ошибками про неработающие биндинги.
user7320долбаный дизайнер (программа)
Я не пользуюсь дизайнером, и чувствую себя прекрасно.
...
Рейтинг: 0 / 0
У WPF как минимум две ветки развития?
    #38539944
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторС attached behaviors работал, и всегда именно в студии
Я всё же про InvokeCommandAction. С поведениями я наврал. Просто с лёгкой InvokeCommandAction можно сделать всё гораздо проще, чем с помощью тяжёлых-притяжёлых (в кодировании) прикрепляемых поведений. Поведения - зачастую overhead.

авторЯ не пользуюсь дизайнером, и чувствую себя прекрасно.
А замл где редактируете? Я опять наврал, наверное - я имею ввиду редактор, запускаемый, когда открываешь замл - там представление и сам замл открываются. Так вот, в представлении мне показывается инфа об эксепшене, а в редакторе замла - подчёркивается то, что, по его мнениею, он не может найти в неймспейсе, который он тоже не может найти.

авторНе затруднить дать ссылку на msdn с описанием "родного дотнетовского" неймспейса System.Windows.Interactivity?
Мне стыдно, что я опять наврал - я имел ввиду название сборки, конечно же. Вот картинка ниже - две сборки - одна из конкретного места на моём жёстком диске (я блендовский СДК распаковал в папку без установки и просто ссылаюсь на их библиотеки), а вторая - из категории Assemblies (я так понимаю - это из собственно Дотнета). Как видите, название сборок одинаковое, но версии разные. И та, которая "родная Дотнетовская", слыхом не слыхивала об InvokeCommandAction и прочих вещах из блендовского СДК. При попытке добавить дотнетовскую сборку в проект, в котором уже существует блендовская - ошибка как на рисунке. Разве это не говорит о том, что у вас теперь фактически две версии WPF и вам нужно решать, какую использовать?
...
Рейтинг: 0 / 0
У WPF как минимум две ветки развития?
    #38539947
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, при этом у меня последние версии как блендовского СДК (скачивал не позднее полугода назад то ли с codeplex.com, то ли с официального сайта МС - это не важно, на самом деле), так и Дотнета.
...
Рейтинг: 0 / 0
У WPF как минимум две ветки развития?
    #38539994
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На картинке видно, что хоть блендовская и имеет версию файла ниже, чем дотнетовская, но в блендовской есть InvokeCommandAction, а в дотнетовской - нет. Не могли же они убрать её из более подзней версии? Значит, это разные ДЛЛ с одинаковыми названиями. И их нельзя одновременно использовать в проектах в Студии (да и без неё наверняка они одновременно не залинкуются). Т. е. приходится выбирать - либо Дотнет, либо Бленд СДК.
...
Рейтинг: 0 / 0
У WPF как минимум две ветки развития?
    #38540024
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Значит, это разные ДЛЛ с одинаковыми названиями.
Но отнюдь не означает, что одна "родная дотнетовская", а вторая - "от команды бленда" - это всё ваши личные домыслы. Во-первых, у меня сборка от установки Expression Blend SDK. У людей, которые ставили себе бленд как таковой, эта сборка лежит в гаке. Во-вторых, от версии к версии у МС содержимое сборок может меняться очень сильно - уже проверено на примере SMO. И совсем не факт, что сборка, что-то не содержащая, является более ранней, чем содержащая. Разберитесь со своими версиями, при необходимости укажите в app.config через assemblyBinding нужную версию сборки.
...
Рейтинг: 0 / 0
У WPF как минимум две ветки развития?
    #38540027
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И да, о птичках: на скриншоте первая продемонстрированная System.Windows.Interactivity лежит в папке клпризмы - спрашивается, каким боком здесь вообще бленд? Тем, что разработчики призма соизволили приреференсить блендовскую библиотеку какой им угодно версии и происхождения?
...
Рейтинг: 0 / 0
У WPF как минимум две ветки развития?
    #38540066
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныИ да, о птичках: на скриншоте первая продемонстрированная System.Windows.Interactivity лежит в папке клпризмы - спрашивается, каким боком здесь вообще бленд? Тем, что разработчики призма соизволили приреференсить блендовскую библиотеку какой им угодно версии и происхождения?
Щас проверил - действительно, у меня в замле подключены две библиотеки

Код: xml
1.
2.
xmlns:prism="clr-namespace:Microsoft.Practices.Prism.Interactivity;assembly=Microsoft.Practices.Prism.Interactivity"
xmlns:interactivity="http://schemas.microsoft.com/expression/2010/interactivity"



Всё работает и без первой... Странно, не помню, зачем я её подключал.

Ладно, остановимся на том, что я сам запутался и недостаточно разобрался... Но всё равно там что-то не так - у меня эта вещь (InvokeCommandAction) ещё ни разу нормально с первого раза не заработала - в каждом новом проекте всё время приходилось бодаться с подключением библиотек из-за этой InvokeCommandAction.
...
Рейтинг: 0 / 0
У WPF как минимум две ветки развития?
    #38540117
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Сон Веры ПавловныИ да, о птичках: на скриншоте первая продемонстрированная System.Windows.Interactivity лежит в папке клпризмы - спрашивается, каким боком здесь вообще бленд? Тем, что разработчики призма соизволили приреференсить блендовскую библиотеку какой им угодно версии и происхождения?
Щас проверил - действительно, у меня в замле подключены две библиотеки

Код: xml
1.
2.
xmlns:prism="clr-namespace:Microsoft.Practices.Prism.Interactivity;assembly=Microsoft.Practices.Prism.Interactivity"
xmlns:interactivity="http://schemas.microsoft.com/expression/2010/interactivity"



Всё работает и без первой... Странно, не помню, зачем я её подключал.
Вспомнил - у меня вначале было реализовано прикрепляемое поведение, основанное на CommandBehaviorBase, и для подключения этого поведения в замле требовалось это пространство имён. Но потом я выяснил, что InvokeCommandAction справляется с моей задачей проще, чем целое кастомное поведение, и решил перейти на неё, но ссылка на пространство имён поведений осталась.

Но почему-то на эту первую ссылку у меня Студия в текущем проекте выдаёт

авторUndefined CLR namespace. The 'clr-namespace' URI refers to a namespace 'Microsoft.Practices.Prism.Interactivity' that could not be found.

а в другом проекте на этой же машине - всё нормально...
...
Рейтинг: 0 / 0
У WPF как минимум две ветки развития?
    #38540568
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторУ WPF как минимум две ветки развития?
Похоже, что краткий ответ всё таки "да" .
...
Рейтинг: 0 / 0
У WPF как минимум две ветки развития?
    #38540609
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Похоже, что краткий ответ всё таки "да" .
И по ссылке опять речь про Prism. Если, например, я сам, в свою очередь, возьму и перепишу с потрохами по свои цели эту несчасную System.Windows.Interactivity - уже будет 3 пути? А перепишет Вася Пупкин - 4?
...
Рейтинг: 0 / 0
У WPF как минимум две ветки развития?
    #38540646
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловныuser7320Похоже, что краткий ответ всё таки "да" .
И по ссылке опять речь про Prism. Если, например, я сам, в свою очередь, возьму и перепишу с потрохами по свои цели эту несчасную System.Windows.Interactivity - уже будет 3 пути? А перепишет Вася Пупкин - 4?
Ну вы это не Призм. ))) Это как бы команда из МС. По важности из разряда "Следующие после Дотнета". Туда же я отношу Enterprise Library, Unit, Blend SDK и т. п.
...
Рейтинг: 0 / 0
У WPF как минимум две ветки развития?
    #38542632
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320,

я не понимаю, без Prism уже никак? Используют MvvmLight и все)
...
Рейтинг: 0 / 0
У WPF как минимум две ветки развития?
    #38542651
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanuser7320,

я не понимаю, без Prism уже никак? Используют MvvmLight и все)
Мне в Призме нужен был только DelegateCommand, а в Бленде - InvokeCommandAction и всякие поведения. Всё остальное я сам делаю.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / У WPF как минимум две ветки развития?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]