|
У WPF как минимум две ветки развития?
|
|||
---|---|---|---|
#18+
Кто работал с командами и прикрепляемыми поведениями 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. Более того, долбаный дизайнер (программа) в Студии продолжает периодически показывать эту ошибку, даже если указать на правильную сборку. У них там все дома?! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2014, 17:13 |
|
У WPF как минимум две ветки развития?
|
|||
---|---|---|---|
#18+
user7320У них там все дома?!Нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 06:12 |
|
У WPF как минимум две ветки развития?
|
|||
---|---|---|---|
#18+
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долбаный дизайнер (программа) Я не пользуюсь дизайнером, и чувствую себя прекрасно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 06:58 |
|
У WPF как минимум две ветки развития?
|
|||
---|---|---|---|
#18+
авторС attached behaviors работал, и всегда именно в студии Я всё же про InvokeCommandAction. С поведениями я наврал. Просто с лёгкой InvokeCommandAction можно сделать всё гораздо проще, чем с помощью тяжёлых-притяжёлых (в кодировании) прикрепляемых поведений. Поведения - зачастую overhead. авторЯ не пользуюсь дизайнером, и чувствую себя прекрасно. А замл где редактируете? Я опять наврал, наверное - я имею ввиду редактор, запускаемый, когда открываешь замл - там представление и сам замл открываются. Так вот, в представлении мне показывается инфа об эксепшене, а в редакторе замла - подчёркивается то, что, по его мнениею, он не может найти в неймспейсе, который он тоже не может найти. авторНе затруднить дать ссылку на msdn с описанием "родного дотнетовского" неймспейса System.Windows.Interactivity? Мне стыдно, что я опять наврал - я имел ввиду название сборки, конечно же. Вот картинка ниже - две сборки - одна из конкретного места на моём жёстком диске (я блендовский СДК распаковал в папку без установки и просто ссылаюсь на их библиотеки), а вторая - из категории Assemblies (я так понимаю - это из собственно Дотнета). Как видите, название сборок одинаковое, но версии разные. И та, которая "родная Дотнетовская", слыхом не слыхивала об InvokeCommandAction и прочих вещах из блендовского СДК. При попытке добавить дотнетовскую сборку в проект, в котором уже существует блендовская - ошибка как на рисунке. Разве это не говорит о том, что у вас теперь фактически две версии WPF и вам нужно решать, какую использовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 08:16 |
|
У WPF как минимум две ветки развития?
|
|||
---|---|---|---|
#18+
Да, при этом у меня последние версии как блендовского СДК (скачивал не позднее полугода назад то ли с codeplex.com, то ли с официального сайта МС - это не важно, на самом деле), так и Дотнета. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 08:20 |
|
У WPF как минимум две ветки развития?
|
|||
---|---|---|---|
#18+
На картинке видно, что хоть блендовская и имеет версию файла ниже, чем дотнетовская, но в блендовской есть InvokeCommandAction, а в дотнетовской - нет. Не могли же они убрать её из более подзней версии? Значит, это разные ДЛЛ с одинаковыми названиями. И их нельзя одновременно использовать в проектах в Студии (да и без неё наверняка они одновременно не залинкуются). Т. е. приходится выбирать - либо Дотнет, либо Бленд СДК. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 09:19 |
|
У WPF как минимум две ветки развития?
|
|||
---|---|---|---|
#18+
user7320Значит, это разные ДЛЛ с одинаковыми названиями. Но отнюдь не означает, что одна "родная дотнетовская", а вторая - "от команды бленда" - это всё ваши личные домыслы. Во-первых, у меня сборка от установки Expression Blend SDK. У людей, которые ставили себе бленд как таковой, эта сборка лежит в гаке. Во-вторых, от версии к версии у МС содержимое сборок может меняться очень сильно - уже проверено на примере SMO. И совсем не факт, что сборка, что-то не содержащая, является более ранней, чем содержащая. Разберитесь со своими версиями, при необходимости укажите в app.config через assemblyBinding нужную версию сборки. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 09:47 |
|
У WPF как минимум две ветки развития?
|
|||
---|---|---|---|
#18+
И да, о птичках: на скриншоте первая продемонстрированная System.Windows.Interactivity лежит в папке клпризмы - спрашивается, каким боком здесь вообще бленд? Тем, что разработчики призма соизволили приреференсить блендовскую библиотеку какой им угодно версии и происхождения? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 09:50 |
|
У WPF как минимум две ветки развития?
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныИ да, о птичках: на скриншоте первая продемонстрированная System.Windows.Interactivity лежит в папке клпризмы - спрашивается, каким боком здесь вообще бленд? Тем, что разработчики призма соизволили приреференсить блендовскую библиотеку какой им угодно версии и происхождения? Щас проверил - действительно, у меня в замле подключены две библиотеки Код: xml 1. 2.
Всё работает и без первой... Странно, не помню, зачем я её подключал. Ладно, остановимся на том, что я сам запутался и недостаточно разобрался... Но всё равно там что-то не так - у меня эта вещь (InvokeCommandAction) ещё ни разу нормально с первого раза не заработала - в каждом новом проекте всё время приходилось бодаться с подключением библиотек из-за этой InvokeCommandAction. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 10:13 |
|
У WPF как минимум две ветки развития?
|
|||
---|---|---|---|
#18+
user7320Сон Веры ПавловныИ да, о птичках: на скриншоте первая продемонстрированная System.Windows.Interactivity лежит в папке клпризмы - спрашивается, каким боком здесь вообще бленд? Тем, что разработчики призма соизволили приреференсить блендовскую библиотеку какой им угодно версии и происхождения? Щас проверил - действительно, у меня в замле подключены две библиотеки Код: xml 1. 2.
Всё работает и без первой... Странно, не помню, зачем я её подключал. Вспомнил - у меня вначале было реализовано прикрепляемое поведение, основанное на CommandBehaviorBase, и для подключения этого поведения в замле требовалось это пространство имён. Но потом я выяснил, что InvokeCommandAction справляется с моей задачей проще, чем целое кастомное поведение, и решил перейти на неё, но ссылка на пространство имён поведений осталась. Но почему-то на эту первую ссылку у меня Студия в текущем проекте выдаёт авторUndefined CLR namespace. The 'clr-namespace' URI refers to a namespace 'Microsoft.Practices.Prism.Interactivity' that could not be found. а в другом проекте на этой же машине - всё нормально... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 10:46 |
|
У WPF как минимум две ветки развития?
|
|||
---|---|---|---|
#18+
авторУ WPF как минимум две ветки развития? Похоже, что краткий ответ всё таки "да" . ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 14:43 |
|
У WPF как минимум две ветки развития?
|
|||
---|---|---|---|
#18+
user7320Похоже, что краткий ответ всё таки "да" . И по ссылке опять речь про Prism. Если, например, я сам, в свою очередь, возьму и перепишу с потрохами по свои цели эту несчасную System.Windows.Interactivity - уже будет 3 пути? А перепишет Вася Пупкин - 4? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 15:08 |
|
У WPF как минимум две ветки развития?
|
|||
---|---|---|---|
#18+
Сон Веры Павловныuser7320Похоже, что краткий ответ всё таки "да" . И по ссылке опять речь про Prism. Если, например, я сам, в свою очередь, возьму и перепишу с потрохами по свои цели эту несчасную System.Windows.Interactivity - уже будет 3 пути? А перепишет Вася Пупкин - 4? Ну вы это не Призм. ))) Это как бы команда из МС. По важности из разряда "Следующие после Дотнета". Туда же я отношу Enterprise Library, Unit, Blend SDK и т. п. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 15:25 |
|
У WPF как минимум две ветки развития?
|
|||
---|---|---|---|
#18+
user7320, я не понимаю, без Prism уже никак? Используют MvvmLight и все) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 18:42 |
|
У WPF как минимум две ветки развития?
|
|||
---|---|---|---|
#18+
netivanuser7320, я не понимаю, без Prism уже никак? Используют MvvmLight и все) Мне в Призме нужен был только DelegateCommand, а в Бленде - InvokeCommandAction и всякие поведения. Всё остальное я сам делаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 18:58 |
|
|
start [/forum/topic.php?fid=21&fpage=25&tid=1441202]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 141ms |
0 / 0 |