Форум программистов, компьютерный форум, киберфорум
Visual Studio, VS Code
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/55: Рейтинг темы: голосов - 55, средняя оценка - 4.55
4 / 4 / 0
Регистрация: 31.01.2012
Сообщений: 10

Я написал расширение VS10, позволяющее скомпилировать проект так, чтобы его можно было запустить без NetFramework

05.03.2012, 11:05. Показов 11811. Ответов 46
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Принцип действия, если кратко: импортирует в .exe те классы, которые используются. Компиляция дольше процентов на 10, исполняемый файл весит не больше 10-15% от обычного компилирования. Это расширение позволяет скомпилировать проекты на .Net 2.x - 4.0 так, чтобы их можно было запускать без NetFramework. Запускается ВООБЩЕ без NetFramework. Протестировано на WinXP, Vista, 7. Не глючит, даже большие проекты нормально работают (тестировал до 300к строк). Ухудшение производительности не заметил. Просьба не просить исходник, пока не решил, что с ним делать.

Пара вопросов
1) Стоит ли развивать проект дальше?
2) Стоит ли делать проект OpenSource?
3) Стоит ли делать расширение платным?
4) Востребована ли такая возможность? (запуск без NetFramework)
3
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.03.2012, 11:05
Ответы с готовыми решениями:

Можно ли упаковать в exe'шник используемые в проекте библиотеки так, чтобы можно было запустить программу на машине без .NET
Я погуглил, но нашел только очень дорогие программы. А хотелось бы узнать насчет предложенного мной способа)

Прошу исправить мой модуль, написанный в АВС, так, чтобы его можно было скомпилировать в Turbo Pascal
Прошу исправить мой модуль, написанный в АВС, так, чтобы его можно было скомпилировать в Turbo Pascal. Пожалуйста var...

Как добавить Android-проект в Eclipse с Android SDK, чтобы после его можно было запустить на виртуальной машине?
Вот у меня с интернета скачан готовый андрой-проект, но я не знаю как его добавить в остальные проекты чтобы запустить на виртуальной...

46
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
05.03.2012, 11:09
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от landermend Посмотреть сообщение
Стоит ли развивать проект дальше?
Да
Цитата Сообщение от landermend Посмотреть сообщение
Стоит ли делать проект OpenSource?
Зависит от того какие у вас цели
Цитата Сообщение от landermend Посмотреть сообщение
Стоит ли делать расширение платным?
Стоит попробовать, если вы действительно реализовали то что написано
Цитата Сообщение от landermend Посмотреть сообщение
Востребована ли такая возможность? (запуск без NetFramework)
да

Нужно больше подробностей, ну и пример программы собранной таким способом
3
4 / 4 / 0
Регистрация: 31.01.2012
Сообщений: 10
05.03.2012, 11:11  [ТС]
turbanoff, Спасибо за ответ. После добавления обфускатора в код расширения обязательно выложу. Как бы идею не украли
1
Заблокирован
05.03.2012, 11:12
Цитата Сообщение от landermend Посмотреть сообщение
Это расширение позволяет скомпилировать проекты на .Net 2.x - 4.0 так, чтобы их можно было запускать без NetFramework.

Ты врёшь. Забаньте его кто-нибуть.
1
4 / 4 / 0
Регистрация: 31.01.2012
Сообщений: 10
05.03.2012, 11:15  [ТС]
NightmareZ, Обоснуйте, пожалуйста.

Добавлено через 2 минуты
Еще небольшой вопрос: есть ли подобные проекты?
0
Заблокирован
05.03.2012, 11:15
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от landermend Посмотреть сообщение
NightmareZ, Обоснуйте, пожалуйста.
Обосновываю: фреймворк - это далеко не только классы, которые можно было бы ипортировать и не париться, это также CLR и прочая инфраструктура.
3
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
05.03.2012, 11:17
Цитата Сообщение от landermend Посмотреть сообщение
NightmareZ, Обоснуйте, пожалуйста.
Ну первое что пришло в голову - это очень сложно. Нет не так. Это ОООЧЕНЬ сложно.
Скорее всего вы либо что-то недоговариваете, либо взяли чужие наработки, либо что-то напутали
Цитата Сообщение от landermend Посмотреть сообщение
Еще небольшой вопрос: есть ли подобные проекты?
Разве что mono к подобным проектам можно отнести
0
4 / 4 / 0
Регистрация: 31.01.2012
Сообщений: 10
05.03.2012, 11:27  [ТС]
NightmareZ, Я же не говорил, что это тоже импортируется в исполняемый файл. Расширение пока не совершенно. Вы перечитайте, нигде про это не сказано. Хотя, это в планах.

Добавлено через 1 минуту
turbanoff, Я не сказал, что это просто. Около 1 года работы.

Добавлено через 7 минут
Ах да, я же не указал - расширение поддерживает ТОЛЬКО язык C#, для остальных, по-моему нет смысла делать.
0
Заблокирован
05.03.2012, 11:28
Цитата Сообщение от landermend Посмотреть сообщение
Ах да, я же не указал - расширение поддерживает ТОЛЬКО язык C#, для остальных, по-моему нет смысла делать.
Почему язык вообще влияет на что-либо, когда тебе по-идее должно приходиться работать исключительно с CIL?
2
11 / 11 / 1
Регистрация: 25.01.2012
Сообщений: 103
05.03.2012, 11:44
Такого бреда я еще не слышал. Framework это большое древо классов. Если верить рефлектору то класс Console использует

C#
1
2
3
4
5
6
7
8
using Microsoft.Win32;
using Microsoft.Win32.SafeHandles;
using System.IO;
using System.Runtime.ConstrainedExecution;
using System.Runtime.InteropServices;
using System.Security.Permissions;
using System.Text;
using System.Threading;
Так что если бы-вы скомпилировали простенький проигрыватель, бинарник весил бы примерно как вся mscorlib.dll, несчитая того, что mscorlib.dll сама по себе использует огромное колличество библеотек так как написанна практически полностью на WinAPI.
2
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
05.03.2012, 11:54
landermend, исходник выкладывать не нужно (если он есть конечно)
Но неплохо бы представить доказательства и демонстрацию работы Вашего расширения, потому как в то, о чем вы говорите, даже с трудом, и то не верится
1
4 / 4 / 0
Регистрация: 31.01.2012
Сообщений: 10
05.03.2012, 13:43  [ТС]
NightmareZ, Просто расширение будет доступно только если проект на C#, влом для VB делать

Добавлено через 1 минуту
Памирыч, Пока - не знаю, как бы идею не украли.

Добавлено через 49 секунд
CycleFunction, Использует, но не все из namespace'ов. Просто выборка, а не namespace целиком

Вот вопрос всем: смысл мне врать?
0
84 / 84 / 14
Регистрация: 15.02.2011
Сообщений: 252
05.03.2012, 13:43
Идея запуска без предустановленного FrameWork'a не новая. Думаю многие себе задавали такой вопрос.
Насчет реальности выполнения такой операции: статья с известного всем сайта, смотрим в таблице VMWare ThinApp.
0
4 / 4 / 0
Регистрация: 31.01.2012
Сообщений: 10
05.03.2012, 13:51  [ТС]
GOID, Спасибо, вы подсказали ценовой диапазон))))))
Кстати, защита у это программы - так себе. Уже кряков понаделывали.
0
11 / 11 / 1
Регистрация: 25.01.2012
Сообщений: 103
05.03.2012, 13:56
О чем я собственно и говорил. И - то, полной гарантии нет.
0
05.03.2012, 13:57

Не по теме:

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

0
11 / 11 / 1
Регистрация: 25.01.2012
Сообщений: 103
05.03.2012, 14:09
Цитата Сообщение от GOID Посмотреть сообщение
не противоречит ли это основным целям фреймворка
Естественно противоречит, да толку все-равно мало, кроссплатформенней прилажение не станет, так как все равно использует WinAPI.

Вот если бы такой способ вытаскивал еще и функции с WinAPI, было бы куда круче, но это из ряда научной фантастики.
0
 Аватар для m0nax
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
05.03.2012, 15:01
В чем проблема выложить "hello world" который запустится без дотнета?
код Console.WriteLine никак не поможет в краже идеи

GOID, вы пользовались этим VMWare ThinApp ? получилось? нет. зачем тогда пускать сплетни?
0
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
05.03.2012, 15:27
Нельзя украсть то, что не существует. Пока вся эта идея - не более чем голословное утверждение.
1
84 / 84 / 14
Регистрация: 15.02.2011
Сообщений: 252
05.03.2012, 15:36
Цитата Сообщение от m0nax Посмотреть сообщение
GOID, вы пользовались этим VMWare ThinApp ? получилось? нет. зачем тогда пускать сплетни?
Вы правы, не пользовался.

В чем проблема выложить "hello world" который запустится без дотнета?
код Console.WriteLine никак не поможет в краже идеи
Поддерживаю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.03.2012, 15:36
Помогаю со студенческими работами здесь

Можно ли скомпилировать проект так, чтобы он вместе с собой открывал файл
Можно ли скомпилировать проект так, чтобы он вместе с собой открывал файл. Файл и проект - одно целое.

Переделать код, чтобы можно было запустить его в MSVS
Программа написана под Linux. Подскажите что нужно поменять чтобы запустить ее в обычном microsoft visual studio? #include...

Нужно преобразовать предел так, чтобы его можно было посчитать по Лопиталю
Добрый день, мне нужно преобразовать предел \lim_{x\rightarrow 0}{ctgx}^{sinx} так, чтобы его можно было посчитать по Лопиталю, скажите...

Необходимо собрать проект со всеми библиотеками в одну папку, чтобы можно было его передавать на другие ПК.
Python 3.4, GUI wxPython. Необходимо собрать проект со всеми библиотеками в одну папку, чтобы можно было его передавать на другие ПК. Мне...

Как создать файл DLL так, чтобы его можно было подключить к VBA Excel?
Пытаясь научиться подключать к VBA хотя бы самую тривиальную функцию на C++. Для примера написал на C++ простую функцию Kvadrat и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Закрытая тема Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru