Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.08.2017, 00:09   #1
Astronix
Новичок
Джуниор
 
Регистрация: 29.08.2017
Сообщений: 1
По умолчанию dll-cкрипт для Sound Forge в отдельном AppDomain

Звуковой редактор Sound Forge (SF) позволяет писать для него скрипты на C# в виде .dll-сборки. Но проблема в том, что в .net нельзя выгружать сборки. То есть, для каждой перекомпиляции приходится перезапускать SF (иначе dll будет залочен). Чтобы решить эту проблему я хотел написать dll-посредника который будет грузить сборку в другой AppDomain, выполнять скрипт и убивать этот AppDomain. Но выяснилось, что весь код (включая делегат, передаваемый в DoCallback) всё равно выполняется в одном и том же домене Forge10.Domain.Script. То есть SF просто проигнорил, что я создал другой домен и пытаюсь в нём выполнить код. Хотя в моей тестовой программе, сборка спокойно грузится в другой домен, выполняется, домен прибивается, dll не залочен. Можно ли принудить DoCallback не игнорить мой домен?

Код:
//...
AppDomain scriptDomain = AppDomain.CreateDomain("SfDebugDomain", null, setup);
scriptDomain.DoCallBack(AppDomainCallback);
//...
public void AppDomainCallback()
{
  // Тут AppDomain.CurrentDomain.FriendlyName == "SfDebugDomain", если выполнение из моей программы
  // и == "Forge10.Domain.Script", если выполнение из Sound Forge 
}

Последний раз редактировалось Astronix; 30.08.2017 в 00:21.
Astronix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Инструкция для сборки приложений на Qt в один exe без зависимостей от libstdc++-6.dll, libgcc_s_dw2-1.dll, Qt5Core.dll и т.д. 8Observer8 Qt и кроссплатформенное программирование С/С++ 12 25.06.2015 03:18
Вопрос про AppDomain .Net shaman4k Общие вопросы .NET 0 28.03.2012 15:17
Можно ли открыть сводную таблицу в отдельном книге ( не в отдельном листе)? Aqil_f Microsoft Office Excel 1 13.09.2010 10:44
Sound Forge редактирование скрипта на C# Сергей86 Помощь студентам 2 12.10.2009 05:42