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

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

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

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

Пара вопросов
1) Стоит ли развивать проект дальше?
2) Стоит ли делать проект OpenSource?
3) Стоит ли делать расширение платным?
4) Востребована ли такая возможность? (запуск без NetFramework)
3
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.03.2012, 11:05
Ответы с готовыми решениями:

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

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

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

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

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

Решение

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

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

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

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

Решение

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

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

Добавлено через 7 минут
Ах да, я же не указал - расширение поддерживает ТОЛЬКО язык C#, для остальных, по-моему нет смысла делать.
0
Заблокирован
05.03.2012, 11:28 9
Цитата Сообщение от landermend Посмотреть сообщение
Ах да, я же не указал - расширение поддерживает ТОЛЬКО язык C#, для остальных, по-моему нет смысла делать.
Почему язык вообще влияет на что-либо, когда тебе по-идее должно приходиться работать исключительно с CIL?
2
11 / 11 / 1
Регистрация: 25.01.2012
Сообщений: 103
05.03.2012, 11:44 10
Такого бреда я еще не слышал. 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
Почетный модератор
21400 / 9134 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
05.03.2012, 11:54 11
landermend, исходник выкладывать не нужно (если он есть конечно)
Но неплохо бы представить доказательства и демонстрацию работы Вашего расширения, потому как в то, о чем вы говорите, даже с трудом, и то не верится
1
4 / 4 / 0
Регистрация: 31.01.2012
Сообщений: 10
05.03.2012, 13:43  [ТС] 12
NightmareZ, Просто расширение будет доступно только если проект на C#, влом для VB делать

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

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

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

Не по теме:

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

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

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

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

В чем проблема выложить "hello world" который запустится без дотнета?
код Console.WriteLine никак не поможет в краже идеи
Поддерживаю.
0
05.03.2012, 15:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.03.2012, 15:36
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Закрытая тема Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru