Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > .NET без .NET


Автор: Lеstat 7.9.2006, 00:17
Вобщем возникла проблема!
Я написал программу для универа... без .NET ее сложнее было бы написать
Теперь выясняется что в универе нет .NET! А програмку-то запустить нужно!
Нет ли какого способа скомпилить приложение так, чтобы оно запускалось без этой дотНЭТ?
Ну или вобще что-нибудь провернуть, чтобы прога заработала!

Устанавливать .NET там нельзя! 
И, кстати, написано на C#.

Автор: Kefir 7.9.2006, 08:23
Боюсь, что прогу, написанную под НЕТ не запустить без НЕТ (имхо это абсурд smile)

Автор: ivashkanet 7.9.2006, 08:29
Kefir, ага, я то же так думал. Пока Дуда не нарыл ссылку на "перекомпиллер" (если бы нашел, то дал бы ссылку), который именно это и делает, что преобразует .Net сборку в native-код, с добавлением соответствующих библиотек.

Автор: Prehistorik 7.9.2006, 08:37
ivashkanet, требую перекомпилер!!! 

Автор: ivashkanet 7.9.2006, 08:40
Нашел smile
http://www.xenocode.com/

P.S. Это один из них (он платный), но , ИМХО, есть еще куча других smile
P.P.S. Сам можно сказать не пользовался. Только установил, решил попробовать. Он полез в инет (за подтверждением, что типа можно перекомпиливать, ИМХО). Я его не пустил, а потом удалил smile

Автор: Kefir 7.9.2006, 09:04
ivashkanet,  smile  smile  smile I'm shocked! Впредь буду умнее!

Автор: ivashkanet 7.9.2006, 10:02
Kefir, не ты один smile

http://forum.vingrad.ru/index.php?showtopic=17740&view=findpost&p=784781
Читать его и пост Дуды немного ниже


Автор: Lеstat 7.9.2006, 19:17
Ой спасибо!
Скачал Xenocode, установил, выбрал свой ехе'шник
ну и получил чето с расширением ехе...
запустил... работает!
Хочу вот теперь проверить работает ли он без .NET
Может можно как-нибудь проверить ехешник... использует ли он .NET или нет? только без удаления .NET, а то у знакомых вроде стоит у всех.

Автор: nikitao 7.9.2006, 19:25
Lеstat, попробуй дезассемблировать. Если получится( а оно не получется) то не будет работать,а если нет- значет пойдет. smile 


Lеstat, а что исходник проверять не будут в универе ? smile 

Автор: ivashkanet 7.9.2006, 19:34
Цитата(Lеstat @  7.9.2006,  19:17 Найти цитируемый пост)
Может можно как-нибудь проверить ехешник... использует ли он .NET или нет?

Можно в ТоталКомандере нажать F3 на нем и в списке зависимостей посмотреть есть ли зависимость от mscore.dll

Автор: nikitao 7.9.2006, 19:37
Ну если уж начали говорить о применении "других" прог, то самый надежный способ - это попробовать запустить на VPC. smile 

Автор: Lеstat 7.9.2006, 21:21
nikitao, в исходниках важен лишь маленький кусок кода... я бы сказал даже только алгоритм
выяснил что мой новый ехешник все равно требует дотНЭТ
Может кто-нибудь объяснит, если знает как правильно собрать ехешник в xenocode?
Я уж что только не пробовал...
Новый ехешник просто вылетает =(

Автор: $tatic 7.9.2006, 21:33
Lеstat, а почему же нельзя .NET устанавливать?

Автор: Lеstat 7.9.2006, 22:20
там на всех компах стоят ограничения... проги не устанавливаются
да и вобще за попытки что-либо поменять можно получить по башке

кстати, тут упоминалось о том, что есть еще какие-то перекомпиляторы... не могли бы указать конкретные названия?
я то я найти не могу =(

Автор: nikitao 7.9.2006, 22:23
Lеstat, тебе к какому числу нужно ?

Автор: Cr@$h 7.9.2006, 22:41
Мне только про него рассказывали. С ASP.Net не работает.
Цитата

Native Image Generator (Ngen.exe)

The Native Image Generator creates a native image from a managed assembly and installs it into the native image cache on the local computer. The native image cache is a reserved area of the global assembly cache. Once you create a native image for an assembly, the runtime automatically uses that native image each time it runs the assembly. You do not have to perform any additional procedures to cause the runtime to use a native image. Running Ngen.exe on an assembly allows the assembly to load and execute faster, because it restores code and data structures from the native image cache rather than generating them dynamically.


Сам не пробовал, но, помню, говорили, что Ngen как раз позволяет это делать. http://msdn2.microsoft.com/en-us/library/6t9t5wcf.aspx взят из MSDN.

Автор: Lеstat 8.9.2006, 01:23
Цитата(nikitao @ 7.9.2006,  22:23)
Lеstat, тебе к какому числу нужно ?

Да вобще не спешу...
Основное задание очень простое
Его можно сделать на паскале или С за час...
Его-то я сделал, просто тема понравилась и я ее развил, причем развил на C# под .NET и в универе запустить не могу
Вобщем нужно сделать генератор случайных чисел с определенным законом распределения.
В задании сразу дают функцию, а я прикрутил к генератору штуку из http://forum.vingrad.ru/index.php?showtopic=110706 темы... фактически получился такой универсальный генератор... сразу под все варианты =)

Автор: ivashkanet 8.9.2006, 08:07
Цитата(Lеstat @  7.9.2006,  22:20 Найти цитируемый пост)
там на всех компах стоят ограничения... проги не устанавливаютсяда и вобще за попытки что-либо поменять можно получить по башке

Приходишь к системному администратору (или к преподу сначала, а потом с ним к нему) и говоришь что тебе нужен .Net FW x.x. А без него никак smile
Они тебе и установят (во всяком случае обязаны)

Автор: Cr@$h 8.9.2006, 09:43
С Ngen не уверен:
  • http://www.codeguru.com/Csharp/.NET/net_general/toolsand3rdparty/article.php/c4651
  • http://msdn.microsoft.com/library/rus/default.asp?url=/library/rus/cptools/html/cpgrfnativeimagegeneratorngenexe.asp

Для решения вопроса нашёл несколько сторонних продуктов:
  • http://www.remotesoft.com/linker/
  • http://thinstall.com/help/?microsoft_netframeworklinki.htm
  • http://www.xenocode.com/
Смотри, изучай, расскажешь smile

Автор: Prehistorik 8.9.2006, 11:31
Пробовал ксенокод. Лажа! Он добавляет почти 17 метров к экзешнику. Так что легче .NET скачать. А если учесть что ксенокод меморилики и меморикоррапты допускает, то качать .NET - единственный выход ((

Автор: nikitao 8.9.2006, 14:30
Срглашусь сivashkanet. Пожалуй это самое разумное решение smile 

Автор: Cr@$h 8.9.2006, 20:04
Цитата(Prehistorik @  8.9.2006,  12:31 Найти цитируемый пост)
Пробовал ксенокод. Лажа! Он добавляет почти 17 метров к экзешнику. Так что легче .NET скачать. 

Попрошу понять, зачем это автору темы.
Цитата(nikitao @  8.9.2006,  15:30 Найти цитируемый пост)
Срглашусь сivashkanet. Пожалуй это самое разумное решение 

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

Автор: Ch0bits 8.9.2006, 20:38
Lеstat  
Больно страшные преподы/админы у вас в ВУЗе. Подходишь с наглой мордой и говоришь - ставь редиска! Если откажется, то сам поставь. smile
Волков бояться - в лес не ходить.  smile 

Цитата(Cr@$h @  8.9.2006,  21:04 Найти цитируемый пост)
Да у тебя там, не бойсь, библиотека готовая.

Разве не нужно показывать преподавателю исходники программы?

Автор: nikitao 8.9.2006, 21:30
Все зависет от качество ВУЗА и тупизны\ума преподователей. Судя по тому, что дотНет не стоит качество вуза не очень высоко ,про преподов сказать трудно

Автор: mr.DUDA 8.9.2006, 21:49
Есть и другие похожие тулзы, погуглите хорошенько.

http://www.remotesoft.com/linker/intro.html, например.

P.S. а ngen только прекомпилирует IL в native код, сохраняя его к тому же в специальном кэше, и нигде кроме машины (на которой прекомпилировали) полученный экзешник не запустится.

Автор: Cr@$h 8.9.2006, 23:28
Цитата(Ch0bits @  8.9.2006,  21:38 Найти цитируемый пост)
Больно страшные преподы/админы у вас в ВУЗе. 

Ну, не у меня. smile 
Цитата(Ch0bits @  8.9.2006,  21:38 Найти цитируемый пост)
Если откажется, то сам поставь. 

Да. И если login и password Admin.
Цитата(Ch0bits @  8.9.2006,  21:38 Найти цитируемый пост)
Цитата(Cr@$h @  8.9.2006,  21:04 )
Цитата

Да у тебя там, не бойсь, библиотека готовая.



Разве не нужно показывать преподавателю исходники программы?

Я .Net словами преподов библиотекой назвал.
Цитата(mr.DUDA @  8.9.2006,  22:49 Найти цитируемый пост)
а ngen только прекомпилирует IL в native код, сохраняя его к тому же в специальном кэше

C:\Windows\Assemblies\native*** Ну, или что-то типа того. NGen ускоряет запуск, т.к. будет автоматом использоватся уже кэшовая версия.

P.S. Человек поставил вопрос, а большинство говорит, что его вопрос лишён смысла: .Net ставить можно.

Автор: mr.DUDA 9.9.2006, 15:28
Цитата(Cr@$h @  8.9.2006,  23:28 Найти цитируемый пост)
P.S. Человек поставил вопрос, а большинство говорит, что его вопрос лишён смысла: .Net ставить можно.

.NET без .NET имеет точно такой же смысл, как Java без JVM, как DirectX/OpenGL без аппаратного ускорения, как... в общем, никакого смысла нету.

Автор: Cr@$h 9.9.2006, 18:32
Цитата(mr.DUDA @  9.9.2006,  16:28 Найти цитируемый пост)
NET без .NET имеет точно такой же смысл, как 


Цитата(mr.DUDA @  9.9.2006,  16:28 Найти цитируемый пост)
... в общем, никакого смысла нету.

Мне этого объяснять не надо. Просто причина здесь несколько другая, согласись. И если человек говорит, что нельзя поставить .Net, а ему отвечают, что нужно поставить .Net, то вся тема как флейм получается. Можно подумать, он сам не знает, что с ним всё будет работать, а просто упрямится и не хочет просить/ставить .Net на кафедре.

Автор: Exception 9.9.2006, 18:50
Ну тогда и правда переписывать на плюсах нужно.

Автор: ivashkanet 9.9.2006, 19:38
Cr@$h, это просто был вариант решения задачи (заявленной в первом посте, а не в теме) smile

Добавлено @ 19:42 
Цитата(Exception @  9.9.2006,  18:50 Найти цитируемый пост)
Ну тогда и правда переписывать на плюсах нужно.

Не обязательно. Ну и что, что xenocod-овский экзэшник весит 17 метров. Его же все равно можно показать smile

Автор: nikitao 9.9.2006, 21:51
Цитата(ivashkanet @  9.9.2006,  20:38 Найти цитируемый пост)
Не обязательно. Ну и что, что xenocod-овский экзэшник весит 17 метров. Его же все равно можно показать 

Честно говоря сомневаюсь , что кто-то догадается посмотреть его размер и вдобавок проанализировать. Так что если нести на CD или flash , то прокатит  smile 

Автор: Cr@$h 9.9.2006, 22:28
Цитата(ivashkanet @  9.9.2006,  20:38 Найти цитируемый пост)
Ну и что, что xenocod-овский экзэшник весит 17 метров. 

Да, это плата за .Net. Просто exe в таком случае легче принести, чем поставить .Net.

Цитата(nikitao @  9.9.2006,  22:51 Найти цитируемый пост)
Честно говоря сомневаюсь , что кто-то догадается посмотреть его размер и вдобавок проанализировать. 

Ага. Попробуй докажи потом, что это не ты такой дурак, а там просто .Net частично сидит. По крайней мере, попробуй. Совсем другое дело, если он попросит тебя изменить что-то в исходнике, типа, что будет, если... .Net ещё ладно иногда использеш IDE и тулы, которые ставить то нельзя. Разрешали показывать exe и исходники. Это нормально.

Автор: mr.DUDA 9.9.2006, 23:53
Вывод: дотнет есть платформа, а не кучка длл, которые можно заменить прилинкованными к EXE кусками неведомо чьих библиотек. Раз платформа, значит неважно под чем исполняется дотнет-приложение: под виндой 98/2000/XP, под линуксом в Mono, или под Vist-ой... Сие означает, что попытки сделать мегакомпилятор для дотнет бессмысленны. Тем более, что платформа постепенно развивается, выходит на новый уровень, и обратная совместимость обеспечивается на уровне платформы, а не на уровне компилятора из IL в native.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)