Запуск приложения на основе .net без .NET Framework

Есть ли способ запуска приложений на основе .net без установленной инфраструктуры .net. Есть ли способ сделать это. Есть ли программное обеспечение, которое может это сделать. Также возможно коммерческое программное обеспечение.

Добавлено:

У кого-нибудь есть опыт работы с тонким клиентом VMWare ?

Есть несколько различных инструментов, пара, которую я пробовал:

  • XenoCode Postbuild (теперь Spoon Studio ) (теперь TurboStudio )
  • Саламандра .NET Linker

Вы можете найти больше, выполнив поиск для « .NET Linker ».

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

Мои приложения .NET в основном используются ИТ-отделами. Установка .NET framework для них не имеет большого значения.

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

Вы можете использовать mono для статической ссылки на все необходимые вам библиотеки dll.

Конечно, это ограничивает monoэффективность структуры, которая становится лучше, но по-прежнему неполна в нескольких местах.


Обновить:
Основываясь на ваших различных комментариях, мое лучшее предложение – использовать версию 2.0 фреймворка. Это легко установит на Windows 2000, без проблем, и вы можете настроить его с помощью Visual Studio 2008, если вам нужно.


Я также немного интересуюсь вашим требованием к Windows 2000. Вы развертываете бизнес или домашнюю среду?

Почти у домашних пользователей нет окон 2000. Домашние пользователи в итоге оказались (вздрагивают) Windows ME, который был выпущен примерно в то же время и по этой причине почти полностью перешел на Windows XP. Вы, скорее всего, увидите Windows 98 в доме, а не в Windows 2000, и даже Microsoft по-прежнему не поддерживает Windows 98.

С другой стороны, очень много предприятий по-прежнему используют машины Windows 2000 в больших количествах. Но в бизнес-средах обычно нет проблемы с установкой .Net framework. Они могут даже автоматически добавлять его к машинам с помощью развертывания групповой политики, если это необходимо.

Используйте Mono, он разработан Novell и является открытым исходным кодом

Изменить: вопрос был о запуске без установленной среды выполнения, независимо от «поставщика». Тем не менее, вот ссылка на запись Википедии Моно. Наслаждаться.

http://en.wikipedia.org/wiki/Mono_(software)

Аналогичная проблема возникла у моей команды. Нам нужно было запустить наше приложение .NET 3.5 WPF под Windows PE, которое не имеет пригодной для использования платформы .NET. Я оценил все варианты и нашел Xenocode PostBuild лучшим.

Это GUI немного противоречит интуиции, и на дороге было несколько ударов, но с тех пор оно было надежным.

Если вы идете по этому маршруту, имейте в виду, что вам нужно убедиться, что ваш код полностью отлажен до того, как вы сгенерируете неуправляемый исполняемый файл, так как вы не можете отлаживать полученное приложение (если вам не нравится ассемблер).

Также обратите внимание, что внедрение .NET framework делает большой исполняемый файл. ~ 20MB для 2.0 и ~ 40MB для 3.5.

Вы не упомянули тип программного обеспечения, которое вы искали, поэтому я решил, что добавлю два цента.

Microsoft выпустила Silverlight, основанный на .NET плагин для браузера, и они работают с Novell, чтобы выпускать версию Silverlight на основе компилятора Mono, упомянутого выше под названием Moonlight. Microsoft изначально поддерживает Windows и Mac OS X 10.5.

Если вам нужна дополнительная информация, здесь приведены некоторые ссылки: http://en.wikipedia.org/wiki/Microsoft_Silverlight http://www.microsoft.com/silverlight/

Это действительно похоже на больше проблем, чем на то, что стоит, когда вы работаете с ОС, поддерживающей .net.

.net 2.0 Я думаю, что даже сейчас это происходит как Windows Update, его только 26 Мб, и вы устанавливаете его только один раз. Если вам нужно что-то, что win32 native вернется к неуправляемому C ++.

Также проверьте: SmallestDotNet (хотя и не Windows 2000, в нем упоминается, что «Вскоре Microsoft выпустит супермаленькую загрузку для компьютеров XP SP2, у которых нет версии .NET Framework».)

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

Единственная альтернатива .NET Framework, которую я знаю, – MONO (для LINUX).

Старый вопрос, но он может помочь другим читателям

Вы можете использовать двоичные файлы IKVM для запуска приложения Mono / .Net / Java без предустановленной структуры. Просто продолжайте думать:

Вы должны успешно выполнить его. (В Windows .NET не забудьте скопировать dll IKVM в текущий каталог.)

Пожалуйста, обратитесь к документации, чтобы получить лучший обзор.

Это называется статической привязкой .net framework. Моно позволяет это, и есть и другие производители. Один случай – если вам нужно запустить в windows pe.

Если вы имеете в виду «Могу ли я запустить приложение .NET без установки какой-либо структуры?» тогда ответ – нет, вы не можете.

Если вы имеете в виду «Могу ли я запустить приложение .NET без установки Microsoft .NET framework и CLR?» тогда ответ будет только в том случае, если вы сможете найти альтернативу, а Моно – единственное, что я знаю.

В интересах полноты и что-то рассмотреть вместе с ответами MONO.

Думали ли вы о том, чтобы написать приложение в собственном коде вместо этого? Таким образом, вы можете просто развернуть свой exe. Если вам нужна среда RAD для повышения производительности, тогда такие инструменты, как Delphi или C ++ Builder, дадут вам ощущение FCL (Delphi VCL был задуман Андерсом Хейлсбергом до того, как он перешел в MS, поэтому, вероятно, не было такого совпадения, что C # Delphites)

Это одно из лучших объяснений (среди многих), которые я нашел:

В практическом плане это невозможно. Теоретически компилятор мог изучить все classы, которые использует ваше приложение, и включить этот код в ваше приложение, и скомпилировать все это в собственный код. Но это все еще не учитывает сам CLR, который содержит основные функции, такие как сборщик мусора, загрузчик сборок, считыватель метаданных и т. Д. Все эти вещи находятся в собственном коде, поэтому их нужно будет дублировать.

Кроме того, не все методы в .NET-classах находятся в управляемом коде. Если вы посмотрите на дизассемблированный код в Reflector, вы увидите, что некоторые из методов отмечены флагом MethodImplAttributes.InternalCall. Это означает, что фактическая реализация метода является внутренней для CLR. Любая система, которая скомпилировала C # (или любой другой язык .NET) для собственного кода, должна была бы дублировать все это, и это было бы трагедией. И получившееся приложение, вероятно, будет довольно большим.

  • развертывание фреймворка zend на сервере
  • Определение версии сборки во время события после сборки
  • Существует ли компилятор R?
  • Объединить msi и exe
  • Как развернуть приложение JAX-RS?
  • Приложение Java EE Enterprise: выполните некоторые действия по развертыванию / запуску
  • Как вручную установить веб-сервис на Tomcat 6?
  • Универсальный ЭЛТ-модуль MSVC 2015 для локального развертывания приложений
  • Android Studio не развертывает изменения в приложении
  • Dll как в бункере, так и в gac, который используется?
  • Каков наилучший способ использования веб-сервиса из VB6?
  • Interesting Posts

    Как настроить ярлык для каталога в терминале Mac OS X?

    В Vista Explorer, как я могу найти содержимое всех файлов в каталоге для слова?

    Как искать одно значение в любом столбце любой таблицы внутри одной базы данных MS-SQL?

    Предел изменения для слишком большого размера строки Mysql

    Могу ли я указать настраиваемое местоположение для поиска метаданных в ASP.NET MVC?

    Не удалось загрузить ресурс в Chrome

    Захват запросов SOAP для веб-службы ASP.NET ASMX

    Как сохранить изображение в галерее Android

    Как подсчитать посещаемость в Excel?

    ScriptManager должен появиться перед любыми элементами управления, которые в этом нуждаются

    Как заставить мое приложение Android отображаться в списке общего доступа другого приложения

    Домашний кнопочный прослушиватель

    как регистрировать SQL-команды в Spring-Boot

    Как перенаправить указатель с другого controllerа?

    Может ли гибернация компьютера повредить ОЗУ?

    Давайте будем гением компьютера.