Компиляция приложения из командной строки
Что делать, если не установлена Visual Studio, но так хочется что-нибуль скомпилировать.
Если установлена платформа NET и установлен .NET SDK, то это не проблема. Приложения можно скомпилировать из командной строки, воспользовавшись утилитой csc.exe . Найти эту утилиту можно в каталоге C:WindowsMicrosoft.NETFramework[Требуемая версия].
Для начала напишем в любом текстовом редакторе простое приложение и сохраним его в файл HelloWorld.cs:
using System; namespace HelloWorld < class HelloWorld < static void Main() < Console.Write(«Введите свое имя:»); string name = Console.ReadLine(); Console.WriteLine(«Привет !», name); Console.ReadLine(); > > >
Теперь скомпилируем и запустим его. Допустим, путь в командной строке установлен на текущий каталог нашего файла HelloWorld.cs. Тогда введем в командную строку следующую команду (в данном случае у меня установлен 4-й фреймворк в папке v4.0.30319):
Как получить стипендию CSC на учёбу в Китае? 5 ПРОСТЫХ ШАГОВ
C:WindowsMicrosoft.NETFrameworkv4.0.30319csc.exe HelloWorld.cs
Если ошибок при компиляции не возникло, то в одном каталоге с HelloWorld.cs мы увидим скомпилированный файл HelloWorld.exe.
Параметры компиляции
Компилятор может принимать следующие выходные параметры:
Присваивает имя выходной сборки. По умолчанию присваивается то же имя, что и у файла кода cs
Создает консольное приложение. Используется по умолчанию
Позволяет создать библиотеку dll
Позволяет создать графическое приложение. При этом консоль скрывается.
Позволяет создать модуль
Теперь создадим простейшее графическое приложение:
using System; using System.Windows.Forms; namespace HelloWorld < public class Program < static void Main() < Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); >> class Form1 : Form < TextBox textBox1; Button button1; public Form1() < //Создаем текстовое поле textBox1=new TextBox(); textBox1.Location = new System.Drawing.Point(50, 50); this.Controls.Add(textBox1); //Создаем кнопку button1 = new Button(); button1.Location = new System.Drawing.Point(60, 90); button1.Text = «Кнопка»; button1.Click+=button1_Click; this.Controls.Add(button1); >private void button1_Click(object sender, EventArgs e) < if(textBox1.Text==»») < MessageBox.Show(«Введите текст в текстовое поле»); >else < MessageBox.Show(textBox1.Text); >> > >
Скомпилируем его с помощью строки: C:WindowsMicrosoft.NETFrameworkv4.0.30319csc.exe /target:winexe WindowWorld.cs . И после запуска мы увидим нашу форму. Если бы мы не использовали target:winexe, то также скомпилировали бы графическое приложение, только тогда при запуске была видна также и консоль.
При компиляции у нас может быть ситуация, когда у нас несоклько исходных файлов, и нам нужно создать из них одно приложени. Тогда все эти файлы либо перечисляются при компиляции (csc.exe WindowWorld.cs File1.cs File2.cs File3.cs), либо если надо включить все файлы текущего каталога, то можно использовать следующую запись: csc.exe *.cs .
Что такое операционная система и как она работает
Также при компиляции может возникнуть необходимость включить ссылку на другую сборку. В предыдущем примере использовались ссылки из сборки System.Windows.Forms.dll. Однако все ссылки на нее, как и на еще несколько распространенных сборок, компилятр включает по умолчанию. Ссылки на большинство других сборок придется включать с помощью записи типа: csc.exe /reference:System.Windows.Forms.dll WindowWorld.cs . Если нужно включить несколько сборок, то они перечисляются друг за другом через точку с запятой:
csc.exe /reference:System.Windows.Forms.dll;System.Drawing.dll WindowWorld.cs
Источник: metanit.com
Компилятор csc.exe
В действительности необходимость в создании крупных приложений с использованием одного лишь компилятора командной строки C# может никогда не возникнуть, тем не менее, важно понимать в общем, как вручную компилировать файлы кода. Существует несколько причин, по которым освоение этого процесса может оказаться полезным:
- Самой очевидной причиной является отсутствие Visual Studio 2010 или какой-то другой графической IDE-среды.
- Работа может выполняться в университете, где использование инструментов для генерации кода и IDE-сред обычно запрещено.
- Планируется применение автоматизированных средств разработки, таких как msbuild.exe, которые требуют знать опции командной строки для используемых инструментов.
- Возникло желание углубить свои познания в C#. В графических IDE-средах в конечном итоге все заканчивается предоставлением компилятору csc.ехе инструкций относительно того, что следует делать с входными файлами кода C#. В этом отношении изучение происходящего «за кулисами» позволяет получить необходимые знания.
Еще одно преимущество подхода с использованием одного лишь компилятора csc.ехе состоит в том, что он позволяет обрести навыки и чувствовать себя более уверенно при работе с другими инструментами командной строки, входящими в состав .NET Framework 4.0 SDK, так как целый ряд важных утилит работает исключительно в режиме командной строки.
Чтобы посмотреть, как создавать .NET-приложение без IDE-среды, давайте построим с помощью компилятора C# и текстового редактора Notepad простую исполняемую сборку по имени TestApplication.exe. Сначала необходимо подготовить исходный код. Откройте программу Notepad (Блокнот), выбрав в меню Start (Пуск) пункт All Programs — Accessories — Notepad (Все программы — Стандартные — Блокнот), и введите следующее типичное определение класса на C#:
using System; class TestApplication < static void Main() < Console.WriteLine(«Привет!»); Console.ReadLine(); >>
После окончания ввода сохраните файл под именем TestApplication.cs. Теперь давайте ознакомимся с ключевыми опциями компилятора C#.
Указание целевых входных и выходных параметров
Первым делом важно разобраться с тем, как указывать имя и тип создаваемой сборки (т.е., например, консольное приложение по имени MyShell.exe, библиотека кода по имени MathLib.dll или приложение Windows Presentation Foundation по имени Halo8.ехе). Каждый из возможных вариантов имеет соответствующий флаг, который нужно передать компилятору csc.ехе в виде параметра командной строки.
Обратите внимание, что параметры, передаваемые компилятору командной строки (а также большинству других утилит командной строки), могут сопровождаться префиксом в виде символа дефиса (-) или слеша (/).
Выходные параметры, которые может принимать компилятор C# приведены в следующей таблице:
/out | Этот параметр применяется для указания имени создаваемой сборки. По умолчанию сборке присваивается то же имя, что у входного файла *.сs |
/target:exe | Этот параметр позволяет создавать исполняемое консольное приложение. Сборка такого типа генерируется по умолчанию, потому при создании подобного приложения данный параметр можно опускать |
/target:library | Этот параметр позволяет создавать однофайловую сборку *.dll |
/target:module | Этот параметр позволяет создавать модуль. Модули являются элементами многофайловых сборок |
/target:winexe | Хотя приложения с графическим пользовательским интерфейсом можно создавать с применением параметра /target: ехе, параметр /target: winexe позволяет предотвратить открытие окна консоли под остальными окнами |
Чтобы скомпилировать TestApplication.cs в консольное приложение TestApplication.exe, перейдите в каталог, в котором был сохранен файл исходного кода (с помощью флага cd) и введите следующую команду:
Обратите внимание, что здесь C:myProject — это путь к папке, в которой хранится файл TestApplication.cs. Так же обратите внимание, что здесь флаг /out не был указан явным образом, поэтому исполняемым файл получит имя TestApplication.ехе из-за того, что именем входного файла является TestApplication. Кроме того, для почти всех принимаемых компилятором C# флагов поддерживаются сокращенные версии написания, наподобие /t вместо /target (полный список которых можно увидеть, введя в командной строке команду csc -?).
Теперь можно попробовать запустить приложение TestApplication.ехе из командной строки, введя имя его исполняемого файла:
Добавление ссылок на внешние сборки
Давайте посмотрим, как скомпилировать приложение, в котором используются типы, определенные в отдельной сборке .NET. Если осталось неясным, каким образом компилятору C# удалось понять ссылку на тип System.Console, вспомните, что во время процесса компиляции происходит автоматическое добавление ссылки на mscorlib.dll (если по какой-то необычной причине нужно отключить эту функцию, следует передать компилятору csc.exe параметр /nostdlib).
Модифицируем приложение TestApplication так, чтобы в нем открывалось окно сообщения Windows Forms. Для этого откройте файл TestApplication.cs и измените его следующим образом:
using System; using System.Windows.Forms; class TestApplication < static void Main() < Console.WriteLine(«Привет!»); MessageBox.Show(«Привет. «); >>
Далее в командной строке нужно проинформировать компилятор csc.exe о том, в какой сборке содержатся используемые пространства имен. Поскольку применялся класс MessageBox из пространства имен System.Windows.Forms, значит, нужно указать компилятору на сборку System.Windows.Forms.dll, что делается с помощью флага /reference (или его сокращенной версии /r):
Если теперь снова попробовать запустить приложение, то помимо консольного вывода в нем должно появиться еще и окно с сообщением:
Кстати, как поступить, когда необходимо указать csc.exe несколько внешних сборок? Для этого нужно просто перечислить все сборки через точку с запятой. В рассматриваемом примере ссылаться на несколько сборок не требуется, но ниже приведена команда, которая иллюстрирует перечисление множества сборок:
csc /r:System.Windows.Forms.dll;System.Drawing.dll *.cs
Компиляция нескольких файлов исходного кода
В текущем примере приложение TestApp.exe создавалось с использованием единственного файла исходного кода * . cs. Хотя определять все типы .NET в одном файле *.cs вполне допустимо, в большинстве случаев проекты формируются из нескольких файлов *.cs для придания кодовой базе большей гибкости. Чтобы стало понятнее, давайте создадим новый класс и сохраним его в отдельном файле по имени HelloMessage.cs:
// Класс HelloMessage using System; using System.Windows.Forms; class HelloMessage < public void Speak() < MessageBox.Show(«Привет!!») ; >>
Изменим исходный класс TestApplication так, чтобы в нем использовался класс этого нового типа:
using System; class TestApplication < static void Main() < Console.WriteLine(«Привет!»); HelloMessage v = new HelloMessage(); v.Speak(); >>
Чтобы скомпилировать файлы исходного кода на C# , необходимо их явно перечислить как входные файлы:
В качестве альтернативного варианта компилятор C# позволяет использовать групповой символ (*) для включения в текущую сборку всех файлов *.cs, которые содержатся в каталоге проекта:
Вывод, получаемый после запуска этой программы, идентичен предыдущей программе. Единственное отличие между этими двумя приложениями связано с разнесением логики по нескольким файлам.
Работа с ответными файлами в C#
Как не трудно догадаться, для создания сложного приложения C# из командной строки потребовалось бы вводить утомительное количество входных параметров для уведомления компилятора о том, как он должен обрабатывать исходный код. Для облегчения этой задачи в компиляторе C# поддерживается использование так называемых .
В ответных файлах C# размещаются все инструкции, которые должны использоваться в процессе компиляции текущей сборки. По соглашению эти файлы имеют расширение *.rsp (сокращение от response — ответ). Чтобы посмотреть на них в действии, давайте создадим ответный файл по имени TestApplication.rsp, содержащей следующие аргументы (комментарии в данном случае обозначаются символом #):
# Это ответный файл для примера # TestApplication.exe /r:System.Windows.Forms.dll # Параметры вывода и подлежащие компиляции файлы /target:exe /out:TestApplication.ехе *.cs
Последним моментом, связанным с ответными файлами, о котором необходимо упомянуть, является то, что с компилятором C# ассоциирован ответный файл csc.rsp, который используется по умолчанию и размещен в том же самом каталоге, что и файл csc.ехе (обычно это С:WindowsMicrosoft. NETFramework , где на месте элемента идет номер конкретной версии платформы). Открыв файл csc.rsp в программе Notepad (Блокнот), можно увидеть, что в нем с помощью флага /r: указано множество сборок .NET, в том числе различные библиотеки для разработки веб-приложений, программирования с использованием технологии LINQ и обеспечения доступа к данным и прочие ключевые библиотеки (помимо, конечно же, самой главной библиотеки mscorlib.dll):
При создании программ на C# с применением csc.ехе ссылка на этот ответный файл добавляется автоматически, даже когда указан специальный файл *.rsp. Из-за наличия такого ответного файла по умолчанию, рассматриваемое приложение TestApplication.ехе можно скомпилировать и c помощью следующей команды (поскольку в csc.rsp уже содержится ссылка на System.Windows.Forms.dll):
Стоит отметить, что в случае добавления с помощью опции /r ссылок на сборки, которые на самом деле не используются, компилятор их проигнорирует. Поэтому беспокоиться по поводу «разбухания кода» не нужно.
Источник: professorweb.ru
CSC папка в Windows — что это?
- Описание
- Отключение автономных файлов
- По поводу очистки папки CSC
- CSC папка у меня
- Вывод
Приветствую уважаемые друзья! Сегодня поговорим о папке CSC в Windows — зачем она нужна, а также как очистить и отключить, чтобы не наполнялась больше))
CSC папка в Windows — что это?
Сразу коротко ответ: в данной папке хранятся сетевые файлы для доступа в автономном режиме.
Простыми словами: вы можете получать доступ к удаленным файлам пользователя, но для этого нужно наличие сети. Вот чтобы получать доступ и без сети (то есть офлайн) — нужен автономный доступ. А потом, когда интернет появится — файлы обновятся автоматически.
Стандартное расположение данной папки:
Как отключить автономные файлы в Windows 7?
PS: этот способ спокойно может работать не только для семерки, но и для десятки.
Внимание: для подстраховки можете сначала создать точку восстановления, а потом уже отключать. Чтобы если что — могли спокойно откатить изменения.
Сперва выполняем следующие шаги:
- Открываем панель управления. Это Сделать можно например так: зажмите Win + R, вставьте команду control или control panel, кликните ОК.
- Далее находим значок Центр синхронизации, открываем.
- Слева нажимаем пункт Управление автономными файлами.
- Появится небольшое окошко, где мы можем отключить функцию.
Далее нужно выполнить перезагрузку, после которой работа функции автономных файлов должна отключиться. Кстати при этом тип файловой системы должен быть NTFS:
Вот только прикол в том, что частично или полностью опция может снова начать работать. Почему — неизвестно, но возможно это баг только Windows 7, может в Windows 10 — такого прикола уже нет. В любом случае решение — использование групповых политик, а также отключение через реестр. Именно поэтому я напомню — сперва лучше все таки создать точку восстановления)) Итак, открываем редактор политики:
- Зажимаем клавиши Win + R, вставляем команду gpedit.msc, кликаем ОК.
- Появится окно редактора, тут будет куча интересных настроек, просто так — ничего не меняем.
- Теперь переходим в раздел Конфигурация компьютера > Административные шаблоны > Сеть > Автономные файлы. Здесь отключаем некоторые опции, какие именно — показаны внизу на картинке.
Еще раз — переходим в этот раздел:
И здесь отключаем эти пять опций:
Потом нужно еще выполнить маленькую настройку реестра. Сперва запускаем командную строку от имени администратора, вот несколько вариантов как это сделать:
- Нажмите правой кнопкой мышки по Пуску и там выберите пункт Командная строка (Администратор).
- Откройте диспетчер задач. В левом углу будет меню Файл — там выбираем запуск новой задачи, указываем cmd и ставим галочку запуск от админа.
- А можно просто перейти в папку C:WindowsSystem32, найти там cmd.exe, нажать правой кнопкой и выбрать пункт запуск от админа.
В общем надеюсь командную строку от админа запустили. Теперь вставляем туда эту команду:
REG ADD «HKLMSOFTWAREMicrosoftWindowsCurrentVersionNetCache» /v FormatDatabase /t REG_DWORD /d 1 /f
И нажимаем энтер:
И потом выполняем перезагрузон компа. После этого — автономные файлы будут отключены навсегда! Ну по крайней мере так должно быть)))
Чисто в теории, после полного отключения автономных файлов, думаю что папку CSC можно спокойно очистить. А если будут проблемы — можно использовать утилиту Unlocker. Но снова же — лучше заранее создать точку восстановления))
По поводу очистки папки CSC
Да, я написал — что потом чисто в теории содержимое папки можно удалить (если вообще не удалится автоматом после отключения автономных файлов). Но вот это можно попробовать сделать грамотно. На сайте Майкрософт нашел такой лайфхак, правда он для Висты, но что-то мне подсказывает, что подойдет и для более новых операционок… короче вам нужно открыть командую строку от админа (выше писал как), а потом по очереди использовать следующие команды:
takeown /r /f c:windowscsc
rd /s c:windowscsc
Эти команды, а точнее последняя — очистит папку CSC, или может вообще удалит ее. Но есть одно но… если внутри папки CSC есть много всяких вложенных папок и до самой глубокой путь (имею ввиду типа C:papkapapka и далее) — будет превышать 260 символов, то первая команда takeown — даст сбой. Но это не так часто бывает)) Впрочем, а что? Можно просто взять и вручную удалить папку, как я уже писал — утилитой Unlocker!))
CSC папка у меня
Что интересно — я попробовал открыть папку у себя. Зажал Win + R, вставил:
Нажал ОК, потом увидел вот такое сообщение:
Нажал продолжить, но все равно:
Нажал Закрыть — окно исчезло вообще. Вот такие пироги. И это у меня операционная система Windows 10)) Понимаю что нужны какие-то права.. и наверно эти две команды для очистки, то первая, а именно takeown — и решает проблему с правами..
Заключение
Ребята, кажется главное — выяснили, а именно:
- CSC папка в Windows хранит файлы, которые доступны по сети, а хранит их на тот случай, что если не будет сети — чтобы вы все равно имели к ним доступ.
- Работу этой функции можно отключить через групповые политики, реестр, а потом еще можно очистить папку способом, предложенным Майкрософт.
Надеюсь данная информация кому-то помогла. Удачи и добра, до новых встреч друзья, берегите себя!
Источник: virtmachine.ru
Что такое региональный код CSC и как работает проверка на моем устройстве Samsung Galaxy?
CSC на самом деле означает код страны, и в сообществе Android он работает в паре с устройствами Samsung Galaxy.
Samsung создает разное программное обеспечение для разных стран, поэтому для того, чтобы загрузить программное обеспечение самостоятельно, нам необходимо знать, какая у нас прошивка. Однако иногда это может выходить за рамки обозначения кода для конкретной страны. Например, США звучит как очевидный региональный код CSC для смартфонов Samsung, продаваемых в США?
Фактически, компания иногда может разбить эти более крупные рынки на образы прошивок для конкретных операторов сотовой связи. Фактически, основные устройства, продаваемые в США, имеют региональный код CSC Verizon Wireless (VZW), T-Mobile (TMB) и AThttps://www.hardreset.info/ru/articles/csc-samsung/» target=»_blank»]www.hardreset.info[/mask_link]
Простой способ смены CSC на устройстве Samsung. (Без рута)
Множество устройств, телефонов и планшетов, которые Samsung выпускает каждый год, безупречны. Изменение CSC на устройстве Samsung может сбивать с толку, так как для разных регионов Samsung выпускает разные линейки стандартных прошивок. Основным элементом, который они используют для различения этих версий, является их ключ CSC. Если вы хотите узнать больше о CSC или о том, как его изменить или почему вам может потребоваться его изменить, вам будет интересно прочитать эту статью.
Как легко изменить CSC на устройстве Samsung. (Без рута)
Что такое CSC?
CSC определяется как Код для конкретной страны или компьютерное программное обеспечение. CSC играет важную роль в прошивке Samsung, которая включает конфигурации системы, географические характеристики, настройки APN, локализации и настройки.
- АЧГ — C шпиль
- SPR — Спринт
- К — ATssl=1″ alt=»Смена CSC на вашем устройстве Samsung» width=»304″ height=»296″ />
2: — Когда вы наберете последнюю цифру, появится экран с несколькими кодами. Этот код будет включать ваш CP, AP, CSC и код модели.
3: — Номер модели вашего устройства будет выглядеть примерно так: «SM-G924F/ DS ». Теперь клавиша CSC вашего Samsung будет выглядеть примерно так:G924FCCT2CRLI ».
4: — Ваш трехзначный код страны — это буквы, которые появляются после компонента вашей модели «G924F». В этом случае это «CCT».
Способ 2: —
Еще один простой и удобный способ проверить текущий CSC вашего устройства Samsung — открыть Настройки и перейти к О раздел, а затем в Информация о программном обеспечении и прокрутите вниз, пока не дойдете до ПО поставщика услуг вер.
Ваш CSC будет в первой строке, и, как и в предыдущем методе, он будет сразу после номера вашей модели.
Изменение CSC на вашем устройстве Samsung (без рута):
Примечание: —
Прежде чем продолжить, вы должны принять во внимание, что смена вашего CSC приведет к сбросу настроек вашего телефона к заводским настройкам, стирая все текущие данные вашего внутреннего хранилища.
Поэтому не забудьте сделать резервную копию всех ваших конфиденциальных и важных данных. После этого переходите к первому шагу:
Шаги легко меняют CSC на устройстве Samsung
Шаг 1: —
Еще раз откройте номеронабиратель своего Самсунга и наберите код * # 272 * за которым следует ваш Номер IMEI а потом #. Это должно выглядеть так
* # 272 *Номер IMEI#
Но вместо текста, выделенного курсивом, вы должны ввести IMEI вашего устройства.
Если вы еще не знаете IMEI вашего устройства, просто проверьте коробку Samsung, в которую ваше устройство было упаковано, когда вы его купили, или вы можете перейти к телефону. Настройки а затем перейдите к О раздел и там вы можете получить свой IMEI.
Шаг 2: —
Как только вы закончите с Шагом 1, появится всплывающий экран, который покажет вам ваш текущий CSC, а также покажет вам список других CSC. Теперь все, что вам нужно сделать, это нажать на код, соответствующий месту, в котором вы находитесь.
Шаг 3: —
Выбирать Установить и ваше устройство автоматически начнет перезагрузку.
Поздравляю! Вы успешно переключили CSC вашего устройства Samsung.
Источник: uzco.ru