Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

С#? Легко!


buslikdrev

609 переглядів

Статья для обладателей Windows

 

Вы спросите: "Зачем нам знать C# (СSharp - "Си Шарп"), если нам интересен PHP и OpenCart?". Отвечаю, что он вам не нужен. Но, хорошо было бы знать, что вы можете в любой момент легко начать писать на нём. А писать можно мобильные приложения, сайты как в php, игры и другие .exe файлы. Для начала программирования на C# даже устанавливать не придётся какие-либо программы, т.к. они у вас наверняка есть по-умолчанию в Windows. Например, в Windows 7 должен быть NET.Framework 2.0 - 3.5.1, который располагается по пути: "C:\Windows\Microsoft.NET\Framework*\v*\". В этих папках вы сможете найти MSBuild.exe - компилятор C# кода.
Чтобы скомпилировать свою первую программу, нужен сам C# (*.cs файл) и настройка проекта (*.csproj файл) для компилятора. Также создать *.CMD файл.

 

NET.Framework и языки к нему можно скачать здесь:

Скрытый текст


Компилятор MSBuild можно скачать здесь:

Скрытый текст

Microsoft Build Tools 2005 v2.0+: C:\Windows\Microsoft.NET\Framework\v2.0.50727

Microsoft Build Tools 2008 v3.5+: C:\Windows\Microsoft.NET\Framework\v3.5

Microsoft Build Tools 2012 v4.8+: C:\Windows\Microsoft.NET\Framework\v4.0.30319
Microsoft Build Tools 2013 v12.0+: https://www.microsoft.com/ru-ru/download/details.aspx?id=40760
Microsoft Build Tools 2015 v14.0+: https://www.microsoft.com/ru-ru/download/details.aspx?id=48159
Microsoft Build Tools 2017 v15.0+: https://learn.microsoft.com/ru-ru/visualstudio/releasenotes/vs2017-relnotes-history#installing-the-earlier-release
Microsoft Build Tools 2019 v16.0+ (Входит в NET.Core v3.1+): https://learn.microsoft.com/ru-ru/visualstudio/releases/2019/history#release-dates-and-build-numbers
Microsoft Build Tools 2022 v17.0+ (Входит в NET.Core v6.0+): https://learn.microsoft.com/ru-ru/visualstudio/releases/2022/release-history#evergreen-bootstrappers

 

 

Приступаем к написанию кода и компиляции.

1. Создаём текстовый файл с кодировкой UTF-8, например, myprogram.cs:

Скрытый текст
namespace MyAPI {
	public class Engine {
		//[System.STAThread] // если однопоточное приложение
		private static void Main(string[] args) {
			// https://learn.microsoft.com/ru-ru/dotnet/api/system.windows.forms.form?view=netframework-4.8
			//Создаём окно
			System.Windows.Forms.Form _form = new System.Windows.Forms.Form();
			//Задаем размер
			_form.Size = new System.Drawing.Size(640, 480);
			//Задаем заголовок окна
			_form.Text = "Моя программа";
			//Создаем текстовое поле
			System.Windows.Forms.RichTextBox richTextBox = new System.Windows.Forms.RichTextBox();
			//Задаем размер поля на всю форму
			richTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
			//Указываем наш текст и перевод строки.
			richTextBox.Text = "Я программист!" + System.Environment.NewLine;
			//Добавляем поле на форму
			_form.Controls.Add(richTextBox);
			//показываем окно
			_form.ShowDialog();
		}
	}
}

 

 

2. Создаём текстовый файл с кодировкой UTF-8, например, myprogram.csproj:

Скрытый текст
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
    <AssemblyName>myprogram</AssemblyName>
    <OutputType>WinExe</OutputType>
    <OutputPath>bin\..\</OutputPath>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <!-- <Prefer32Bit>true</Prefer32Bit> -->
    <DebugType>none</DebugType>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.Windows.Forms" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="*.cs" />
    <None Include="*.config" />
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

 

 

3. Создаём текстовый файл с кодировкой UTF-8, например, myprogram.cmd и указать путь к MSBuild:

Скрытый текст
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" myprogram.csproj
PAUSE

 

 

4. Запускаем myprogram.cmd и в папке наших файлов должен появиться исполняемый файл нашей программы myprogram.exe

 

 

Про версии С# можно почитать здесь:
https://learn.microsoft.com/ru-ru/dotnet/csharp/whats-new/csharp-version-history
https://ru.wikipedia.org/wiki/C_Sharp

 

Про версии NET.Framework можно почитать здесь:

https://learn.microsoft.com/ru-ru/dotnet/framework/migration-guide/versions-and-dependencies

 

Про версии MSBuild можно почитать здесь:
https://en.wikipedia.org/wiki/MSBuild#Versions
Добавлю ещё, что MSBuild есть в dotNET.Core v3.1+ и .csproj билдится (компилируется) такой строкой:
"C:\Program Files\dotnet\dotnet.exe" build myproject.csproj

 

Как компилируется и работает С# код:
https://learn.microsoft.com/ru-ru/dotnet/standard/managed-execution-process
https://ru.wikipedia.org/wiki/Common_Language_Runtime

 

 

Следующая статья по C# будет, если доберусь до создания своего мобильного приложения (открытие сайта, как мобильное приложение). Возможно ещё будет статья, как легко начать программировать на С++.

Если кто вдохновится, то можете изучить своими силами и написать об этом статью.


Создание приложение для Android на C#:
https://metanit.com/sharp/maui/1.1.php
https://learn.microsoft.com/en-us/xamarin/android/deploy-test/building-apps/abi-specific-apks

 

Компиляция приложения на С++ (аналогия, как при компиляции C#):

https://learn.microsoft.com/ru-ru/cpp/build/walkthrough-using-msbuild-to-create-a-visual-cpp-project?view=msvc-170

Змінено користувачем buslikdrev

  • +1 2

4 коментаря


Recommended Comments

Ещё способ скомпилировать код без создания .csproj

 

Что на счёт Андройд, то устанавливайте Microsoft Build Tools 2017 v15.0+ c этой версии появилась возможность компилировать под Android 7+ и iOS 11+. Для более старых версий нужно думать и копать в сторону Xamarin.

 

  • +1 1
Надіслати

Раз появилась такая тема, то может кто знает. Можно ли как то на хостинге объеденить PHP и EXE файлы для совместнной работы, что бы уйти от ioncube?

 

т.е. какие то функции выносить в .exe файлы

Надіслати
21.12.2022 в 02:14, cherkas сказал:

Раз появилась такая тема, то может кто знает. Можно ли как то на хостинге объеденить PHP и EXE файлы для совместнной работы, что бы уйти от ioncube?

 

т.е. какие то функции выносить в .exe файлы

 

Думаю можно. .exe, .dll если хостинг на windows, linux вроде .so

Но сначала перед изучением написания такой программы, нужно изучить запуск готовых через какой-нибудь exec()

Нужно учитывать ещё, что на виндоус хостинге будет .NET Framework 3,5-4,0 - ориентироваться нужно на С# 3-4.

Надіслати

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.