Вопрос

Можно ли как-нибудь объединить все ресурсы в один исполняемый файл, такой как app.config и связанные с ним библиотеки DLL?

Похоже, что некоторые приложения делают это, такие как eMule.

Я не хочу, чтобы мой app.config сидел там и ждал редактирования.

Спасибо

Это было полезно?

Решение

Конечно, в Solution Explorer (предполагая здесь Visual Studio, поскольку вы не упоминаете) Right-click и Properties файлов, которые вы хотите включить.

Там должен быть вариант для Build Action который вы можете установить на Embedded Resource.

Другие советы

Конечно, вы можете встраивать ресурсы.Перейдите в свойства приложения и выберите вкладку "Ресурсы".Все ресурсы, добавленные в них, будут находиться в основном двоичном коде.

Почему бы не иметь app.config, ожидающий редактирования?Многие профессиональные программные пакеты содержат файлы конфигурации и ini, которые можно свободно редактировать.

Чувак, Вот почему это конфигурационный файл!Предполагается, что это позволит вам изменить способ работы приложения на d-fly b!

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

Объединение библиотек dll - ILMerge

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

Если вам все еще нужна возможность настройки, вы можете скрыть файл в профиле пользователя.

Смотрите, например, http://www.codeproject.com/KB/cs/SystemConfiguration.aspx

Если вы не хотите, чтобы настройки менялись, перенесите их в код, а не в конфигурацию.

Я согласен с некоторыми пользователями.На самом деле, это противоречит цели "config".Просто жестко запрограммируйте всю информацию в общем вызове класса "настройки", а затем ссылайтесь на что-то вроде

_serverIP = настройки.Почтовый сервер.

Единственные элементы, которые следует учитывать, - это helperfiles (которые, скажем, к чему-то относятся), изображения, сторонние библиотеки dll (хотя я не уверен в этом) ... и это лишь некоторые из них.

Проблема с файлами .net app.config заключается в том, что их изменение может изменить способ работы приложения.

Встраивание ресурсов - это не проблема, это тот конкретный файл, о котором я беспокоюсь.

Я уже использовал Thinstall в качестве термоусадочной оболочки для виртуализации приложений:

https://thinstall.com/help/index.php?_netsupport.htm

Это делает то, что вы хотите, т.е.объединяет все зависимости вашего приложения в один исполняемый файл, включая файл .configs.

Вам также не помешало бы изучить другие программные инструменты для термоусадочной упаковки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top