Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

С#? Легко!


buslikdrev

261 просмотр

 Погделиться

Ситья для обладателей 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 1
 Погделиться

4 комменирия


Рекомендованные комменирии

Ещё способ скомпилировать код без создания .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 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.