Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C#] buid.bat 
V
    Опции темы
Abyx
Дата 10.6.2010, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 0
Всего: 10



хочу компилить программу на C# .bat или .vbs файлом, 
примерно так:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe some.cs

как получить путь к компилятору C# для .NET 2.0 ?
PM MAIL   Вверх
jonie
Дата 10.6.2010, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



Код

Определение установленных версий .NET Framework
Чтобы определить, какие версии .NET Framework установлены, найдите папку %systemroot%\Microsoft.NET\Framework. Чтобы открыть эту папку, можно вставить этот адрес в адресную строку проводника Windows. Версии .NET Framework находятся в указанных ниже папках.

    * v3.5
    * v3.0
    * v2.0.50727
    * v1.1.4322
    * v1.0.3705

Примечание. Если отображаются другие папки вида vN.N.NXXXX, они могут содержать бета-версии или предварительные версии .NET Framework. Эти версии не рассматриваются в данной статье.
(с) http://support.microsoft.com/kb/318785
Соответственно вот и ответ.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Abyx
Дата 10.6.2010, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 0
Всего: 10



jonie, т.е. 2.0 всегда будет в папке v2.0.50727 ?
PM MAIL   Вверх
Abyx
Дата 10.6.2010, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 0
Всего: 10



файл some.bat
Код

/*
@echo off
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe %0
goto :eof
*/

using System;
 
namespace Example
{
    class Program
    {
        static void Main()
        {
            Console.WriteLine("Hello, World!");
            Console.ReadKey(true);
        }
    }
}

что можно написать в 1й строчке, чтобы при запуске .bat'а не писалась ошибка 
Код

"/*" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

PM MAIL   Вверх
Abyx
Дата 10.6.2010, 15:45 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 0
Всего: 10



применил cls:
Код

/* & @echo off & cls & rem !!! IT MUST BE FIRST LINE OF FILE !!!
set outfile=some.exe
if exist %outfile% del %outfile%
%systemroot%\Microsoft.NET\Framework\v2.0.50727\csc.exe /out:%outfile% %0
if not exist %outfile% goto :eof
set /p ans=Run %outfile%? [y/n]^>
if "%ans%" == "y" %outfile%
goto :eof
*/

using System;
 
namespace Example
{
    class Program
    {
        static void Main()
        {
            Console.WriteLine("Hello, World!");
            Console.ReadKey(true);
        }
    }
}



Добавлено @ 15:48
А назовем мы это "CSharpScript" =)

Это сообщение отредактировал(а) Abyx - 10.6.2010, 15:56
PM MAIL   Вверх
PashaPash
Дата 10.6.2010, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



Abyx, lol, a ведь MS убил столько времени на разработку PowerShell.... smile


--------------------
PM MAIL WWW   Вверх
Abyx
Дата 10.6.2010, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 0
Всего: 10



PashaPash, PowerShell не у всех есть. Совсем не у всех.
PM MAIL   Вверх
Amp
Дата 10.6.2010, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 886
Регистрация: 17.2.2009

Репутация: нет
Всего: 17



Цитата(Abyx @  10.6.2010,  20:16 Найти цитируемый пост)
PowerShell не у всех есть. Совсем не у всех. 

Я как-то думал, что если человек собирается собирать программу, то у него уже стоят (или он готов поставить) соответствующие вспомогательные средства, системы сборки и т.п. Изначальная задача какая? Может просто таскать с собой nant или что-то более простое/самописное?
PM MAIL   Вверх
Abyx
Дата 11.6.2010, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 0
Всего: 10



Amp, задача - написать небольшую программу, и распространять ее вместе с исходником.
Распространение с программой исходника нужно для того, чтобы пользователь мог убедиться что программа делает именно то что надо, и не содержит троев\закладок и т.п..

Особенность C# в том, что он входит в .NET; по этому если программа на C# будет работать на компе, она будет и компилиться на этом компе.
Программа небольшая, и ее исходник состоит из 1 файла. Если внедрить скрипт построения в исходник, то дистрибутив программы будет состоять из 1 готового к компиляции и запуску файла. Это существенно облегчает распространение программы, ее исходник можно выложить как текст в посте на форуме (как в моем предыдущем посте). Тогда потенциальный пользователь может сразу оценить код программы, и ему не надо будет скачивать архив с кучей файлов, проектом студии\хмл-ом нанта и т.п.

PM MAIL   Вверх
PashaPash
Дата 11.6.2010, 01:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



Цитата(Amp @  10.6.2010,  20:29 Найти цитируемый пост)
 Может просто таскать с собой nant или что-то более простое/самописное? 

Если ест дотнет - то есть и msbuild.
Цитата(Abyx @  10.6.2010,  20:16 Найти цитируемый пост)
PashaPash, PowerShell не у всех есть. Совсем не у всех. 

Я в хорошем смысле. Преамбула из 10 строк дает возможность писать скрипты на C# - интересное решение smile


--------------------
PM MAIL WWW   Вверх
Amp
Дата 11.6.2010, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 886
Регистрация: 17.2.2009

Репутация: нет
Всего: 17



Цитата(PashaPash @  11.6.2010,  01:26 Найти цитируемый пост)
Если ест дотнет - то есть и msbuild.

О как, здорово smile

Цитата(Abyx @  11.6.2010,  00:15 Найти цитируемый пост)
Особенность C# в том, что он входит в .NET; по этому если программа на C# будет работать на компе, она будет и компилиться на этом компе.
Программа небольшая, и ее исходник состоит из 1 файла. Если внедрить скрипт построения в исходник, то дистрибутив программы будет состоять из 1 готового к компиляции и запуску файла. Это существенно облегчает распространение программы, ее исходник можно выложить как текст в посте на форуме (как в моем предыдущем посте). Тогда потенциальный пользователь может сразу оценить код программы, и ему не надо будет скачивать архив с кучей файлов, проектом студии\хмл-ом нанта и т.п.

Может потенциального пользователя не затруднит модифицировать переменные окружения и самому положить туда путь к компайлеру? Я, например, путь к javac всегда помещаю в %PATH%. 

Это сообщение отредактировал(а) Amp - 11.6.2010, 09:37
PM MAIL   Вверх
Abyx
Дата 11.6.2010, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 0
Всего: 10



Amp, путь всегда одинаков, зачем его еще куда-то прописывать?
PM MAIL   Вверх
Любитель
Дата 11.6.2010, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: нет
Всего: 92



Извращение, но красиво! smile


--------------------
PM MAIL ICQ Skype   Вверх
VirusUZ
  Дата 30.6.2010, 07:40 (ссылка)   | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 9.4.2010
Где: Узбекистан, Навои й обл.

Репутация: нет
Всего: -2



/////////// in C#

Код

SystemDiagnostics.Process.start(@"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe some.cs");


 smile 

Это сообщение отредактировал(а) VirusUZ - 6.7.2010, 13:04
--------------------
Virus
PM MAIL   Вверх
Abyx
Дата 30.6.2010, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 0
Всего: 10



VirusUZ, что вы хотели сказать этим постом?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0725 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.