Pes.NET.Sdk
0.2.9
dotnet add package Pes.NET.Sdk --version 0.2.9
NuGet\Install-Package Pes.NET.Sdk -Version 0.2.9
<PackageReference Include="Pes.NET.Sdk" Version="0.2.9"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="Pes.NET.Sdk" Version="0.2.9" />
<PackageReference Include="Pes.NET.Sdk"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add Pes.NET.Sdk --version 0.2.9
#r "nuget: Pes.NET.Sdk, 0.2.9"
#:package Pes.NET.Sdk@0.2.9
#addin nuget:?package=Pes.NET.Sdk&version=0.2.9
#tool nuget:?package=Pes.NET.Sdk&version=0.2.9
Pes.NET.Sdk
MSBuild SDK для компиляции проектов Пес (Pes): dotnet build, dotnet restore, dotnet package add.
Быстрый старт
Установите шаблоны (один раз):
dotnet new install Pes.Templates
Создайте консольное приложение:
dotnet new pesconsole -n MyApp
cd MyApp
dotnet build
dotnet run
Pes.NET.Sdk отдельно устанавливать не нужно — NuGet скачает его автоматически при первой сборке проекта (строка Sdk="Pes.NET.Sdk/0.2.9" в .psproj). Оба пакета должны быть опубликованы на nuget.org (или доступны через ваш локальный feed).
Подключение SDK вручную
<Project Sdk="Pes.NET.Sdk/0.2.9">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>
</Project>
Рядом — Program.pes:
импорт System
System.Console.WriteLine("Привет, мир!")
NuGet-пакеты в .pes
Подключение пакета в .psproj:
dotnet package add MyApp.psproj Newtonsoft.Json
В коде — импорт пространства имён:
импорт System
импорт Newtonsoft.Json
пер Json: Строка = JsonConvert.SerializeObject(42)
System.Console.WriteLine(Json)
Свойства MSBuild
| Свойство | По умолчанию | Описание |
|---|---|---|
TargetFramework |
net10.0 |
TFM пользователя; поддерживается net8.0+ |
EnableDefaultPesCompileItems |
true |
Автоматически включать **/*.pes |
EnableDefaultCompileItems |
false |
Не искать .cs в проекте |
UseAppHost |
false |
Запуск через dotnet MyApp.dll |
ProduceReferenceAssembly |
false |
Ref-сборки для ProjectReference |
EnablePesBclAliasMap |
true |
Подключать предустановленный aliases/bcl.ru.pesmap из пакета SDK |
EnableDefaultPesAliasMapItems |
(выкл.) | Если true — также **/*.pesmap из каталога проекта |
Host для сборки SDK/compiler — .NET SDK 10. Политика TFM: spec/TargetFrameworks.md.
Дополнительные карты: <PesAliasMap Include="my.pesmap" />. Отключить BCL seed: <EnablePesBclAliasMap>false</EnablePesBclAliasMap>.
Шаблон перевода по произвольной DLL — утилита pesmap-generator (dotnet tool / dotnet run --project src/Pes.AliasMap.Generator).
Разработка из исходников
Без NuGet — относительный импорт (как в examples/):
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="путь\к\sdk\Pes.NET.Sdk\Sdk\Pes.Compiler.props" />
...
</Project>
Перед сборкой:
dotnet build src/Pes.Compiler.Tasks/Pes.Compiler.Tasks.csproj -c Release
Сборка пакетов
./eng/pack.ps1
Пакеты появятся в artifacts/: Pes.NET.Sdk.*.nupkg, Pes.Templates.*.nupkg.
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.2.9 | 152 | 8/11/2026 |
| 0.2.8 | 111 | 8/11/2026 |
| 0.2.6 | 118 | 8/11/2026 |
| 0.2.5 | 119 | 8/6/2026 |
| 0.2.4 | 117 | 8/6/2026 |
| 0.2.3 | 130 | 7/27/2026 |
| 0.2.2 | 124 | 7/21/2026 |
| 0.2.1 | 132 | 7/21/2026 |
| 0.1.9 | 115 | 7/18/2026 |
| 0.1.8 | 124 | 7/18/2026 |
| 0.1.7 | 123 | 7/16/2026 |
| 0.1.6 | 110 | 7/16/2026 |
| 0.1.5 | 124 | 7/13/2026 |
| 0.1.4 | 126 | 7/13/2026 |
| 0.1.3 | 129 | 7/11/2026 |
| 0.1.2 | 128 | 7/10/2026 |
| 0.1.1 | 121 | 7/7/2026 |
| 0.1.0 | 126 | 7/7/2026 |