FarNet — плагин для написания плагинов на .NET языках

Здесь можно обсудить ваш любимый плагин.
DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 3 times
Contact:

Re: Far.Net — плагин для написания плагинов на .NET языках

Post by DiRTy_GaRRy »

Latest post of the previous page:

К вопросу об одтельных AppDomain итд. У MS, по идее, уже есть инфраструктура для создания аддинов. В том числе в этой инфраструктуре есть поддержка аддинов в отдельных AppDomain. Гуглить можно начиная с System.Addin. Правда, я ей не пользовался и что там и как подсказать не могу.
Ы?
dolzenko
Posts: 452
Joined: Wed 19 Apr, 2006 14:42
Location: Ростов-на-Дону

Re: Far.Net — плагин для написания плагинов на .NET языках

Post by dolzenko »

NightRoman wrote:Наверное будут, если делать в лоб. Такой вариант я даже не рассматриваю. Но можно сделать не в лоб, можно абсолютно всю кухню запустить в отдельной AppDomain, и тогда внутри этой кухни не будет никаких пробросов, и в принципе можно будет всю эту кухню и выгружать. Но у меня очень большие сомнения, что это нужно. И поэтому вероятность того, что я буду что-то делать в этом направлении, стремительно приближается к нулю (что не означает невозможность, впрочем).
По поводу нужно/ненужно: при такой архитектуре можно будет сделать компиляцию .NET плагинов на лету, вот это будет модно :), и студия будет не нужна и изменения можно будет сразу тестировать.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Far.Net — плагин для написания плагинов на .NET языках

Post by NightRoman »

dolzenko_
Может и модно, только невелика сложность перезапустить Фар во время разработки. Но разработка кончится, а навороты системы в итоге останутся - лишняя и практически не нужная нагрузка для "конечного использования".

А студия и сейчас не нужна, в самом дот-нете все уже есть прямо из коробки, компили на здоровье.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Far.Net — плагин для написания плагинов на .NET языках

Post by Max Rusov »

NightRoman wrote:А студия и сейчас не нужна, в самом дот-нете все уже есть прямо из коробки, компили на здоровье.
И отладчик?
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Far.Net — плагин для написания плагинов на .NET языках

Post by NightRoman »

Max Rusov
Отладчики, как известно, не нужны, спроси ветеранов форума. А если серьезно - понятия не имею, у меня студия всегда есть. А если у кого нет, то вроде как бесплатно можно Expess Edition скачать, там есть все что нужно (смотря кому и для чего, конечно).
dolzenko
Posts: 452
Joined: Wed 19 Apr, 2006 14:42
Location: Ростов-на-Дону

Re: Far.Net — плагин для написания плагинов на .NET языках

Post by dolzenko »

Max Rusov wrote:
NightRoman wrote:А студия и сейчас не нужна, в самом дот-нете все уже есть прямо из коробки, компили на здоровье.
И отладчик?
а у макросов есть отладчик?
NightRoman wrote:dolzenko_
Может и модно, только невелика сложность перезапустить Фар во время разработки. Но разработка кончится, а навороты системы в итоге останутся - лишняя и практически не нужная нагрузка для "конечного использования".

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

Предупредительные ЗЫ:
да, я пробовал делать это в отдельной копии фара,
нет, это очень неудобно.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Far.Net — плагин для написания плагинов на .NET языках

Post by NightRoman »

dolzenko_
А то, что во время разработки из-за временных разработческих багов припасть может Фар с тем чем-то другим, это ничего? Ну вобщем понятно, что определенные плюсы могли бы быть. Но размер этих плюсов неубедителен. А минусы мы еще не знаем, их может будет и больше. Пока не буду этим заниматься, есть и без этого над чем поработать в FarNet.

И вообще писать надо на PowerShell. За очень редким исключением скрипты просто редактируем и запускаем снова. Согласен, это удобно и экономит время. Но если уж писать плуг на C#, то это все равно дополнительные приседания - проект, студия, отладка и т.п. Так что перезапуск Фара для изменений в плуге - это уж просто довесок, а не основной оверхед разработки.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Far.Net — плагин для написания плагинов на .NET языках

Post by NightRoman »

Про PowerShell я не пошутил. Там сразу концентрируешься на том, что тебе нужно, а не на том, как сначала организовать инфраструктуру плагина. Но есть есть две области, где PowerShell не стоит применять - если очень навороченная фунциональность замышляется или если производительность - ключевой фактор. В последнем случае, правда, все равно можно начать с прототипа на PowerShell - может, все и не так медленно окажется, а можно и переписать нужные кусочки PowerShell скрипта на C# прямо в самом скрипте, последний PowerShell это легко позволяет, и пример есть - Test-Zoo-.ps1 - там зачитывается C# файл и динамически прямо в памяти компилируется, но можно C# текст было иметь прямо в скрипте, это дело удобства.
mugz
Posts: 181
Joined: Thu 02 Jun, 2005 13:36
Contact:

Re: Far.Net — плагин для написания плагинов на .NET языках

Post by mugz »

Konstantin M. Dyakov" to Roman, Max
show details 4:24 pm (7 hours ago)
Привет.
Занялся тут вторым ФАРом, но не пошёл субж. В смысле, он устанавливается и его можно выбрать в меню плагинов. Дальше всё повисает (также, как при вызове из ком.строки по префиксу).
Представляется, из-за того, что ты вызываешь PS x86, а он у меня запускается с ошибкой в стартовом скрипте (x64 запускается без ошибок). С другой стороны, консоль PS после ошибки работает, и плагин не должен бы повисать...

P.S. А обламывается на вот таком в скрипте:

Code: Select all

$env:12HivesDir = "${env:CommonProgramFiles}\Microsoft Shared\web server extensions\12\"
# load the Microsoft.SharePoint.dll
$null = [System.Reflection.Assembly]::LoadFrom("$env:12HivesDir\ISAPI\Microsoft.SharePoint.dll")
x86-версия почему-то env:CommonProgramFiles расширяет на Program Files (x86)...
--
Wbr,
Dyakov K.M.
mugz
Posts: 181
Joined: Thu 02 Jun, 2005 13:36
Contact:

Re: Far.Net — плагин для написания плагинов на .NET языках

Post by mugz »

Это вопрос от Константина Дьякова, одного из разработчиков SHPCE, на котором в знавительной степени был основан первый FAR.NET
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Far.Net — плагин для написания плагинов на .NET языках

Post by NightRoman »

mugz wrote:Это вопрос от Константина Дьякова, одного из разработчиков SHPCE, на котором в знавительной степени был основан первый FAR.NET
Да, я в курсе этой проблемы, и примерно знаю в чем дело. Фикс будет через какое-то время.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Far.Net — плагин для написания плагинов на .NET языках

Post by NightRoman »

Для ясности уточню. Проблема выше во-первых - с PowerShellFar, а не с FarNet, во-вторых - только для x64, в-третьих - проявляется только в особых ситуациях, например, если стартовый скрипт сам имеет проблемы.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Far.Net — плагин для написания плагинов на .NET языках

Post by NightRoman »

Пропадал на неделю, вижу был перетрях АПИ для панелей. FarNet отвалился, конечно? Сам не пробовал, сразу адаптировал к новому варианту Фар-АПИ. Если повезет со временем, выложу сегодня и адаптацию, и другие изменения.

Есть объявление. По техническим причинам больше не буду собирать FarNet в студии 2005 (даже студию без пака 1 держал дома, чтобы рантайм длл-ки реже требовалось устанавливать конечному пользователю). Теперь это стало совсем неудобно, перехожу на студию 2008 пак 1. К сожалению, у кого она она не установлена, придется скачать рантайм у МС. Впрочем, надеюсь, это не для многих будет проблемой, плагин-то для разработки, так что студия, вероятно, есть у многих, хотя бы и Express Edition. Ну, если нет... извините за неудобства – от одной длл-ки из студии отвязаться никак нельзя, это требование для C++/CLI (если не прав, поправьте и скажите – как обойти, буду и сам рад отвязаться от этой зависимости).
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Far.Net — плагин для написания плагинов на .NET языках

Post by NightRoman »

Появились х64 битные ночные сборки Фара. Если кто-то хочет использовать FarNet х64 - дайте знать. Для себя-то я собираю периодически, но надо еще будет организовать поставку. За крайне редким исключением (низкоуровневые дела какие в коде или pinvoke) самим .NET плагинам, конечно, без разницы, на какой платформе запускаться, их пересобирать не надо, мелочь, а приятно. Но сам FarNet, точнее плагин FarNetMan.dll к сожалению, зависит от платформы.
User avatar
Mors
Posts: 6
Joined: Sun 01 Feb, 2009 11:44
Location: Екатеринбург

Re: Far.Net — плагин для написания плагинов на .NET языках

Post by Mors »

NightRoman wrote:Появились х64 битные ночные сборки Фара. Если кто-то хочет использовать FarNet х64 - дайте знать. Для себя-то я собираю периодически, но надо еще будет организовать поставку. За крайне редким исключением (низкоуровневые дела какие в коде или pinvoke) самим .NET плагинам, конечно, без разницы, на какой платформе запускаться, их пересобирать не надо, мелочь, а приятно. Но сам FarNet, точнее плагин FarNetMan.dll к сожалению, зависит от платформы.
Буду крайне признателен, за наличие таких сборок.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Far.Net — плагин для написания плагинов на .NET языках

Post by NightRoman »

Mors
Готово. По иронии судьбы у меня самого сейчас х64 машина временно недоступна, так что первую сборку с х64 версией выкладываю, не прогнав тесты. Но по идее тестировал незадолго до этого, не должно быть особых проблем, надеюсь.

На всякий случай добавлю (по-русски). Поставка включает в себя и х86 версию, и х64. Отличается только один файл - FarNetMan.dll. Для х86 он находится, где обычно, а для х64 в \Plugins.x64\FarNet, но копировать его нужно туда же, куда обычно, то есть в %FARHOME%\Plugins\FarNet.
Post Reply

Return to “Обсуждение плагинов”