Arhn - архитектура программирования

Развертывание приложения C # (.NET 2.0) в качестве переносного приложения?

Можно ли развернуть приложение .NET 2.0 как переносимый исполняемый файл? Так что моя программа может быть запущена на флэш-диске без установленной на целевой машине .NET Framework 2.0. Или, может быть, можно распространить мою программу с необходимыми библиотеками .NET, так что установка фреймворка не требуется?

Я знаю, что есть несколько альтернативных инструментов, позволяющих превратить мой .NET exe в отдельный исполняемый файл, например RemoteSoft Salamander, Xenocode Postbuild и Thinstall, но, к сожалению, я не могу себе этого позволить.

Я также пытался встроить зависимости с помощью mkbundle Mono, но это испортило мою программу = \ (нет визуального стиля XP, сломались некоторые элементы управления и их функциональность)

Любая помощь будет оценена по достоинству :)

Спасибо.

к сведению: моя IDE - это Microsoft Visual C # 2008 Express Edition с .NET Framework 2.0 в качестве целевой платформы.

08.08.2009

Ответы:


1

Ну, кроме таких вещей, как Salamander и Thinstall (теперь VMWare ThinApp), вам нужно будет установить .NET, если вы действительно хотите запустить .NET.

Может быть возможным запустить Mono без его фактической установки (без статической привязки вашей программы , но включая Mono на флешке). Я подозреваю, что это будет сложно, поскольку вам придется сообщить среде выполнения о таких вещах, как местоположение GAC.

Я ничего не вижу в FAQ по Mono по этому поводу, но вы, возможно, захотите пинговать список рассылки Mono - это звучит как потенциально интересная и полезная вещь, которую можно сделать.

08.08.2009

2

Нет; вам понадобится либо установленная структура, либо инструменты, о которых вы упомянули.

Вы могли потенциально посмотреть на новый статический компоновщик mono, но это все ...

08.08.2009

3

Что ж, Thinstall очень дорог и работает не во всех ситуациях. Если вы хотите запустить свое приложение без установленного .Net, у вас могут возникнуть проблемы, хотя есть инструменты, которые это делают В Xenocode есть инструмент, который может сделать это за вас, и он дешевле, чем thinstall.

Но если вы спросите мое мнение, использовать их - плохая идея. Лучше убедите свой целевой рынок установить .Net 2 (который в наши дни в значительной степени универсален), а затем упаковать все файлы вашей библиотеки в один файл с помощью более дешевого инструмента, подобного Obfuscator (есть хороший инструмент от Smartassembly.)

Я давно пользуюсь Thinstall и много работал над этой технологией, так что без опыта я не снимаюсь.

08.08.2009

4

Я сам не пробовал, но вот процедура:

  • Сделайте проект на C #.
  • В обозревателе решений внутри вашего проекта есть строка «Ссылка». Щелкните значок плюса рядом с ним. Теперь вы можете увидеть все зависимости вашего проекта. Удалите все ссылки, которые не используются (удалите и попробуйте запустить / построить. Если это возможно, то оно не используется. Если есть ошибка, верните ее, добавив ее (щелкните правой кнопкой мыши, «Добавить ссылку ")).
  • Для каждой ссылки перейдите в Свойства и в свойстве «Копировать локально» выберите «Истина». Для каждого изображения значок ... сделайте так, как указано в ссылке.
  • Восстановите свой проект. Теперь в папке Build / Release (внутри корзины) вы увидите много файлов dll. Эти файлы содержат информацию о каждом ресурсе.
  • Скопируйте все файлы в папке (из шага № 4) в новую папку.
  • Перейдите в папку: «\ Microsoft.Net \ Framework \» и скопируйте файл «mscrolib.dll» в новую папку с шага 5. Если вы не найдете этот файл, вы всегда можете выполнить поиск на жестком диске. который содержит папку Windows.
  • Теперь ваше приложение переносимо (со всем содержимым папки).

- Источник: http://www.codeproject.com/Tips/392308/Csharp-Portable-Exe-File

26.05.2012
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..