AspNetForge.WebCore
1.0.4
See the version list below for details.
dotnet add package AspNetForge.WebCore --version 1.0.4
NuGet\Install-Package AspNetForge.WebCore -Version 1.0.4
<PackageReference Include="AspNetForge.WebCore" Version="1.0.4" />
<PackageVersion Include="AspNetForge.WebCore" Version="1.0.4" />
<PackageReference Include="AspNetForge.WebCore" />
paket add AspNetForge.WebCore --version 1.0.4
#r "nuget: AspNetForge.WebCore, 1.0.4"
#:package AspNetForge.WebCore@1.0.4
#addin nuget:?package=AspNetForge.WebCore&version=1.0.4
#tool nuget:?package=AspNetForge.WebCore&version=1.0.4
AspNetForge.WebCore
Class Library + стартовый шаблон для ASP.NET Core Minimal API (.NET 8).
Содержит generic CRUD-эндпоинты, cookie-авторизацию, встроенные HTML/CSS/JS и готовый пример проекта.
Быстрый старт
dotnet new web -n MyWebApp
cd MyWebApp
dotnet add package AspNetForge.WebCore --version 1.0.4
dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL --version 8.0.11
dotnet build
Важно: пакет рассчитан на чистый проект
dotnet new web. Он заменяетProgram.csи копируетwwwroot/.
Что происходит после установки
Models.csдобавляется в проект как linked-файл.Program.csзаменяется шаблонным примером.wwwroot/копируется с HTML/CSS/JS.appsettings.jsonне перезаписывается, если уже существует. Добавьте строку подключения вручную.
Настройка PostgreSQL
Откройте appsettings.json и добавьте:
{
"ConnectionStrings": {
"DefaultConnection": "Host=localhost;Port=5432;Database=examdb;Username=postgres;Password=postgres"
}
}
Создайте базу:
CREATE DATABASE examdb;
Запустите приложение:
dotnet run
Данные заполняются через формы или импорт CSV.
Возможности библиотеки
using AspNetForge.Web.Extensions;
app.MapCrud<Product, AppDbContext>("/api/products");
app.MapCrud<Order, AppDbContext>("/api/orders");
app.MapImport<Product, AppDbContext>("/api/products/import").RequireAuthorization("ManagerPlus");
app.UseForgeResources(overwrite: true);
Роли
В шаблоне используются роли: Client, Manager, Admin.
Администратор может добавлять/редактировать/удалять товары и заказы. Менеджер — пользоваться фильтрами и импортом. Клиент — только просмотр.
Если файлы не появились
Закройте Visual Studio, удалите папку obj/, откройте решение заново и нажмите Ctrl+Shift+B.
Возможные ошибки
Visual Studio предлагает запустить прошлый вариант
- Ctrl+Shift+B — собрать проект.
- Правый клик по проекту → Перезагрузить проект.
- Запустить снова.
CS0234: EntityFrameworkCore не существует
dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL --version 8.0.11
404 Not Found
Убедитесь, что в Program.cs есть:
app.UseDefaultFiles();
app.UseStaticFiles();
wwwroot пустой
При старте UseForgeResources(overwrite: true) копирует встроенные файлы. Убедитесь, что метод вызван до UseStaticFiles().
Пример DDL
CREATE TABLE "Users" (
"Id" SERIAL PRIMARY KEY,
"Login" TEXT NOT NULL,
"Password" TEXT NOT NULL,
"FullName" TEXT NOT NULL,
"Role" TEXT NOT NULL
);
CREATE TABLE "PickupPoints" (
"Id" SERIAL PRIMARY KEY,
"Address" TEXT NOT NULL,
"City" TEXT NOT NULL
);
CREATE TABLE "Products" (
"Id" SERIAL PRIMARY KEY,
"Article" TEXT NOT NULL,
"Name" TEXT NOT NULL,
"Category" TEXT NOT NULL,
"Manufacturer" TEXT NOT NULL,
"Supplier" TEXT NOT NULL,
"Price" NUMERIC NOT NULL,
"Discount" INTEGER NOT NULL,
"Quantity" INTEGER NOT NULL,
"Description" TEXT NOT NULL,
"ImagePath" TEXT NOT NULL
);
CREATE TABLE "Orders" (
"Id" SERIAL PRIMARY KEY,
"OrderNumber" INTEGER NOT NULL,
"OrderDate" TIMESTAMP NOT NULL,
"ClientFullName" TEXT NOT NULL,
"ProductId" INTEGER REFERENCES "Products"("Id"),
"Quantity" INTEGER NOT NULL,
"PickupPointId" INTEGER REFERENCES "PickupPoints"("Id"),
"Discount" INTEGER NOT NULL,
"Status" TEXT NOT NULL,
"DeliveryDate" TIMESTAMP NOT NULL,
"Code" INTEGER NOT NULL
);
Пример CSV для импорта товаров
Article;Name;Category;Manufacturer;Supplier;Price;Discount;Quantity;Description;ImagePath
T001;Товар 1;Категория 1;Производитель 1;Поставщик 1;1000;0;10;Описание 1;images/t1.jpg
T002;Товар 2;Категория 2;Производитель 2;Поставщик 2;2000;5;20;Описание 2;images/t2.jpg
Fallback: код файлов
Если автоматическое копирование не сработало, создайте файлы вручную. Содержимое идентично тому, что лежит в папке Sample/ исходников пакета.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- 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.