Page 1 of 79

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

Posted: Tue 19 Jul, 2005 17:15
by NightRoman

Posted: Tue 19 Jul, 2005 19:05
by 4ekucT
Слухай, будь другом, сделай пути ко всем директориям настраиваемыми...

Posted: Wed 20 Jul, 2005 07:56
by mugz
Можешь конкретизироват к каким и как? Вообще путь к директории lib настраивается в far.exe.config могу остальные пути туда же поместить

Posted: Wed 20 Jul, 2005 09:30
by 4ekucT
mugz wrote:Можешь конкретизироват к каким и как? Вообще путь к директории lib настраивается в far.exe.config могу остальные пути туда же поместить
В far.exe.config хотелось бы иметь слудующие пути (наскаолько я понимаю относительные указать сечас можно):
1) К каталогу lib (уже есть)
2) К каталогу plugins\Far.Net\bin
3) К каталогу Plugins.Net

PS: Незнаю как сейчас, но с прошлой версией этой цацки у меня не работали плагины с количеством префиксов больше 1. Тоесть срабатывал только 1й прификс, хотя The Underscope показывал, что у плагина этих префиксов несколько. Вообщем пока не будут пути конфигуряться, я к сожалению проверить не смогу, а как зарелизишь, тогда кину точный баг репорт (если он конечно будет).

Posted: Wed 20 Jul, 2005 09:37
by mugz
ок. сделаю. вроде правил что-то такое.

Posted: Wed 20 Jul, 2005 12:44
by mugz
см. атач

Posted: Wed 20 Jul, 2005 14:51
by 4ekucT
Ок приду домой посмотрю и отпишусь...

Posted: Wed 20 Jul, 2005 15:06
by mugz
только если хочешь plugins.net запихать в подпапку plugins - надо расширения dll заменить на что-нибудь еще.

Posted: Thu 21 Jul, 2005 09:44
by 4ekucT
Итак вот что получилось.
Структура каталогов следующая:
C:\Soft\Far\Bin\Far.exe - сам фар
C:\Soft\Far\Bin\Far.exe.config - конфиг твоего плугина
C:\Soft\Far\Lib - каталог lib из твоего плугина
C:\Soft\Far\Plugins.NET - каталог Plugins.NET из твоего плугина
C:\Soft\Far\Plugins\Script\.NET\FarNetPlugin.dll - сам плугин

Содержимое Far.exe.config (key="FarManager.Plugins" тоже лучше сделать относительным):

Code: Select all

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="..\Lib"/>
    </assemblyBinding>
  </runtime>
  <appSettings>
    <add key="FarManager.Plugins" value="С:\Soft\Far\Plugins.NET" />
  </appSettings>
</configuration>
При этом сразу получил:

Posted: Thu 21 Jul, 2005 09:58
by mugz
Конфиг не мой, а приложения Far.exe

судя по всему, он не может найти свои билиотеки.

см:
http://msdn.microsoft.com/library/defau ... robing.asp

http://msdn.microsoft.com/library/en-us ... mblies.asp

возможно он не понимает относительных путей (стандартный способ хранения в подпапках)

Насчет относительного пути для плагинов подумаю. Кстати, относитеьно чего хотелось бы его прописывать? Относительно плагина? Фара?

Вопрос: чем плохо помещать библиотеки в подпапки %FARHOME%?

Posted: Thu 21 Jul, 2005 10:04
by mugz
потихоньку начал портировать скрипты на .NET и помещять их в список рассылки:
http://groups-beta.google.com/group/shp-dev

Posted: Thu 21 Jul, 2005 10:13
by 4ekucT
mugz wrote:Конфиг не мой, а приложения Far.exe
Насчет относительного пути для плагинов подумаю. Кстати, относитеьно чего хотелось бы его прописывать? Относительно плагина? Фара?
Относительто того, где ты их прописываешь конечно, тоеть относительно файла конфига.
mugz wrote: Вопрос: чем плохо помещать библиотеки в подпапки %FARHOME%?
Ай, извращенец я просто :lol:

Итог пока печальный, плагин не заработал...

Posted: Thu 21 Jul, 2005 10:31
by mugz
попробуй положить lib на место - в качестве подпапки %FARHOME%

Еще можно попробовать заставить писать лог:

<configuration>
...
<system.diagnostics>
<trace autoflush="true" indentsize="0">
<listeners>
<add name="MyListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="Far.Exe.log"/>
</listeners>
</trace>
</system.diagnostics>
</configuration>

Posted: Thu 21 Jul, 2005 10:57
by 4ekucT
mugz wrote:попробуй положить lib на место - в качестве подпапки %FARHOME%
Запахало.

Сделал еще вот так <add key="FarManager.Plugins" value="%FARHOME%\..\Plugins.NET" /> тоже раобтает.

Тогда раз уж есть <probing privatePath="Lib"/>, то почему
<probing privatePath="%FARHOME%\..\Lib"/> не хотит?

Posted: Thu 21 Jul, 2005 11:17
by mugz
<add key="FarManager.Plugins" value="%FARHOME%\..\Plugins.NET" />
обрабатывает ЗагрузчикПлагинов (см. исходник посланный вчера), а
<probing privatePath="%FARHOME%\..\Lib"/> сам фреймфорк.

Может в список рассылки перейдем?

Posted: Thu 21 Jul, 2005 11:23
by 4ekucT
mugz wrote:Может в список рассылки перейдем?
Ай, я не шарю что это такое :P ... А чем тут плохо?