Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Можно "встроить" exe в dll ? 
:(
    Опции темы
V0fka
Дата 10.6.2014, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 5.11.2006
Где: Украина

Репутация: нет
Всего: нет



Привет!

1) Есть WPF проект, тип программы exe. В программе есть 1 окно, которое собственно и используется. Все работает, вопросов вроде нету.
2) Далее в новом проекте создается dll библиотека, которая использует функционал программы, описаной выше. Вроде тоже работает, каких-то проблем нету.

Но есть одно "неудобство". После компиляции проекта dll в каталоге с dll появляется exe-шник, который создавался на этапе 1) . Ну и если его из каталога убрать - то dll не фурычит. Можно как-то его "вшить" в dll, чтобы в результате была только 1 dll-ка?

Это сообщение отредактировал(а) V0fka - 10.6.2014, 20:45
PM MAIL   Вверх
Ilya81
Дата 11.6.2014, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 18.4.2014
Где: ЛО, Всеволожский р-н

Репутация: нет
Всего: 4



Объединить сборки можно с помощью ILMerge. Только если объединять в DLL, запуск-то как будет делаться? Т. е. для какой цели DLL в таком случае?
PM MAIL ICQ Skype   Вверх
jonie
Дата 11.6.2014, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



Как вариант включить сборку (exe) в ресурсы и грузить оттуда руками


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
HalkaR
Дата 11.6.2014, 11:01 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: 5
Всего: 42



Правильным решением было бы выделить всю общюю логику и код в отдельную сборку и референсить ее из обоих проектов.
PM MAIL   Вверх
V0fka
Дата 12.6.2014, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 5.11.2006
Где: Украина

Репутация: нет
Всего: нет



Цитата(Ilya81 @  11.6.2014,  08:07 Найти цитируемый пост)
Объединить сборки можно с помощью ILMerge.

А платформа потом поймет, что ехе-шник надо искать не "рядом", а "внутри"?

Цитата(Ilya81 @  11.6.2014,  08:07 Найти цитируемый пост)
Только если объединять в DLL, запуск-то как будет делаться? Т. е. для какой цели DLL в таком случае?

DLL написана под другую программу, по определенным правилам (типо плагин). И она получается как обертка над этим exe-шником, т.к. эта другая программа с ним напрямую общаться не умеет.

Цитата(jonie @  11.6.2014,  10:11 Найти цитируемый пост)
Как вариант включить сборку (exe) в ресурсы и грузить оттуда руками 

А можно для танкистов подробней?

Цитата(HalkaR @  11.6.2014,  11:01 Найти цитируемый пост)
Правильным решением было бы выделить всю общюю логику и код в отдельную сборку и референсить ее из обоих проектов. 

Дело в том, что вся общая логика и код - находятся в этом ехе-шнике. А DLL - это обертка над ним (я выше писал почему так).

Преследую цель - чтобы на выходе получился 1 файл.
PM MAIL   Вверх
Ilya81
Дата 16.6.2014, 05:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 18.4.2014
Где: ЛО, Всеволожский р-н

Репутация: нет
Всего: 4



Цитата(V0fka @  12.6.2014,  12:06 Найти цитируемый пост)
А платформа потом поймет, что ехе-шник надо искать не "рядом", а "внутри"?

По идее должно сработать, единственное, включать EXE в DLL я ни разу не пробовал. Но наоборот срабатывает.

PM MAIL ICQ Skype   Вверх
HalkaR
Дата 17.6.2014, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: 5
Всего: 42



Цитата(V0fka @  12.6.2014,  12:06 Найти цитируемый пост)
Дело в том, что вся общая логика и код - находятся в этом ехе-шнике. А DLL - это обертка над ним (я выше писал почему так).

Ну так вынисите ее в отдельную сборку про это и речь. Или exe вы прямо через запуск в отдельном пройессе используете?
Цитата(V0fka @  12.6.2014,  12:06 Найти цитируемый пост)
Преследую цель - чтобы на выходе получился 1 файл. 

Зачем?
PM MAIL   Вверх
V0fka
Дата 18.6.2014, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 5.11.2006
Где: Украина

Репутация: нет
Всего: нет



Цитата(Ilya81 @  16.6.2014,  05:18 Найти цитируемый пост)
По идее должно сработать, единственное, включать EXE в DLL я ни разу не пробовал. Но наоборот срабатывает.

Понял, на досуге посмотрю-попробую, спасибо!

Цитата(HalkaR @  17.6.2014,  11:34 Найти цитируемый пост)
Ну так вынисите ее в отдельную сборку про это и речь. Или exe вы прямо через запуск в отдельном пройессе используете?

ехе - это и есть другая сборка, на которую я ссылаюсь в DLL-ке. Но после компиляции на выходе получается 2 файла: dll и ехе (это 2 отдельные сборки).

Цитата(HalkaR @  17.6.2014,  11:34 Найти цитируемый пост)
Зачем? 

Мне хочется, чтоб не было "лишних" файлов smile .
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1285 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.