全面剖析大模型 图解大模型:生成式AI原理与实战 大语言模型大模型应用开发Transformer DeepSeek模型原理开发深度学习 图灵出品

大模型强化学习详解 大模型算法:强化学习、微调与对齐(全彩)详解强化学习 RLHF GRPO DPO SFT CoT DeepSeek蒸馏 微调与对齐 效果优化及其实践

大模型图书三剑客之 人工智能的底层逻辑 DeepSeek的逻辑 DeepSeek教程 阅读狂欢节

大模型语言模型理论全掌握 大规模语言模型:从理论到实践(第2版)详解LLM 预训练 指令微调 SFT 强化学习MoE 多模态 智能体 RAG 大模型效率优化DeepSeek推理模型 评估

AI大厂大模型面试宝典 百面大模型 大模型应用开发LLM提示工程师大模型面试题deepseek应用开发深度学习机器学习 图灵出品

AI时代已至,必须学起来了 人工智能:现代方法(第4版)复旦教授魏忠钰老师推荐 deepseek教程(异步图书出品)

让AI成为我们的得力助手:《用Cursor玩转AI辅助编程——不写代码也能做软件开发》


放在最前面:

Cursor基础使用教程
自从使用了Cursor工作效率飞起


经典旧书推荐

《C# 开发实战1200例》当年就是靠着这本书入门,非常实用【优惠券】
《C#编程宝典》【优惠券】
《C#项目开发全程实录》【优惠券】


一、环境配置深度说明

1. .NET SDK版本管理
  • 推荐安装:使用.NET SDK 8.0 LTS
  • 多版本切换
    # 查看已安装版本
    dotnet --list-sdks
    
    # 全局设置默认版本
    dotnet new globaljson --sdk-version 8.0.301
    
  • Cursor集成:在设置中指定SDK路径(File > Preferences > Settings > .NET SDK Path
2. C#扩展配置
  • 必装插件
    • C# Dev Kit(官方智能感知)
    • NuGet Package Manager(依赖管理)
    • EF Core Power Tools(数据库逆向工程)
  • 调试配置:在.vscode/launch.json中添加:
    {
      "configurations": [
        {
          "name": ".NET Core Launch (web)",
          "type": "coreclr",
          "request": "launch",
          "preLaunchTask": "build",
          "program": "${workspaceFolder}/bin/Debug/net8.0/YourProject.dll",
          "args": [],
          "cwd": "${workspaceFolder}",
          "stopAtEntry": false,
          "serverReadyAction": {
            "action": "openExternally",
            "pattern": "\\bNow listening on:\\s+(https?://\\S+)"
          }
        }
      ]
    }
    

二、进阶案例:构建完整CRUD应用

案例目标:开发一个图书管理API,包含JWT认证和Swagger文档

步骤1:生成基础架构

  1. 输入指令:
    创建一个ASP.NET Core Web API项目,包含以下功能:
    - 使用Entity Framework Core + SQLite
    - 包含Book模型(Id:int, Title:string, Author:string, ISBN:string)
    - 包含BooksController的CRUD端点
    - 启用Swagger
    
  2. AI生成的Program.cs关键代码:
    builder.Services.AddDbContext<AppDbContext>(options => 
        options.UseSqlite(builder.Configuration.GetConnectionString("Default")));
    
    builder.Services.AddEndpointsApiExplorer();
    builder.Services.AddSwaggerGen();
    

步骤2:添加JWT认证

  1. 在对话窗口输入:
    为当前项目添加JWT Bearer认证,要求:
    - 生成User模型(Username, PasswordHash)
    - 添加AuthController的/login端点
    - 在Swagger中显示认证按钮
    
  2. AI生成的JwtService.cs示例:
    public class JwtService
    {
        private readonly IConfiguration _config;
        
        public JwtService(IConfiguration config) => _config = config;
    
        public string GenerateToken(User user)
        {
            var key = new SymmetricSecurityKey(
                Encoding.UTF8.GetBytes(_config["Jwt:Key"]!));
            
            var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
            
            var token = new JwtSecurityToken(
                issuer: _config["Jwt:Issuer"],
                audience: _config["Jwt:Audience"],
                claims: new[] { new Claim(ClaimTypes.Name, user.Username) },
                expires: DateTime.Now.AddHours(1),
                signingCredentials: creds);
            
            return new JwtSecurityTokenHandler().WriteToken(token);
        }
    }
    

步骤3:数据验证增强

  1. 选中Book模型类,输入:
    为Book模型添加数据注解验证:
    - Title长度1-100字符
    - ISBN必须符合正则表达式^\d{3}-\d{10}$
    - Author不能为空
    
  2. 生成结果:
    public class Book
    {
        public int Id { get; set; }
        
        [Required]
        [StringLength(100, MinimumLength = 1)]
        public string Title { get; set; }
        
        [Required]
        [RegularExpression(@"^\d{3}-\d{10}$", 
            ErrorMessage = "ISBN格式应为XXX-XXXXXXXXXX")]
        public string ISBN { get; set; }
        
        [Required]
        public string Author { get; set; }
    }
    

三、调试与测试深度集成

1. AI辅助调试
  • 错误诊断:将编译错误信息复制到对话窗口,输入解释此错误并提供修复方案
    CS1061: 'AppDbContext' does not contain a definition for 'Books'...
    
  • AI响应示例:
    该错误表明DbContext缺少DbSet<Book>属性。解决方案:
    1. 在AppDbContext中添加:
       public DbSet<Book> Books { get; set; }
    2. 执行迁移命令:
       dotnet ef migrations add AddBooksTable
       dotnet ef database update
    
2. 单元测试生成
  1. 新建BookServiceTests.cs,输入:
    使用xUnit为BookService编写测试:
    - 测试GetAllBooks返回空列表当数据库为空
    - 测试CreateBook返回正确ISBN
    
  2. AI生成示例:
    public class BookServiceTests : IDisposable
    {
        private readonly AppDbContext _context;
    
        public BookServiceTests()
        {
            var options = new DbContextOptionsBuilder<AppDbContext>()
                .UseSqlite("DataSource=:memory:")
                .Options;
            
            _context = new AppDbContext(options);
            _context.Database.OpenConnection();
            _context.Database.EnsureCreated();
        }
    
        [Fact]
        public async Task GetAllBooks_ReturnsEmptyList_WhenNoBooks()
        {
            var service = new BookService(_context);
            var result = await service.GetAllBooks();
            Assert.Empty(result);
        }
    }
    

四、企业级开发规范

1. 架构模式引导

输入指令示例:

使用Clean Architecture重构当前项目,包含:
- Application层(MediatR + AutoMapper)
- Infrastructure层(EF Core实现)
- API层(Minimal API端点)

AI将生成:

// Application/Books/Queries/GetAllBooks.cs
public record GetAllBooksQuery : IRequest<List<BookDto>>;

public class GetAllBooksHandler : IRequestHandler<GetAllBooksQuery, List<BookDto>>
{
    private readonly IApplicationDbContext _context;
    private readonly IMapper _mapper;

    public GetAllBooksHandler(IApplicationDbContext context, IMapper mapper)
    {
        _context = context;
        _mapper = mapper;
    }

    public async Task<List<BookDto>> Handle(GetAllBooksQuery request, CancellationToken ct)
    {
        return _mapper.Map<List<BookDto>>(
            await _context.Books.ToListAsync(ct));
    }
}
2. 性能优化指导

输入:

优化数据访问层:
- 为GetBookById添加AsNoTracking
- 在查询中使用ProjectTo自动映射DTO
- 添加内存缓存策略

AI生成:

public async Task<BookDto> GetBookById(int id)
{
    return await _memoryCache.GetOrCreateAsync($"book_{id}", async entry =>
    {
        entry.AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(5);
        return await _context.Books
            .AsNoTracking()
            .Where(b => b.Id == id)
            .ProjectTo<BookDto>(_mapper.ConfigurationProvider)
            .FirstOrDefaultAsync();
    });
}

五、企业级项目注意事项(补充)

  1. 安全规范

    • 使用[Authorize(Policy = "RequireAdmin")]进行细粒度权限控制
    • appsettings.json中隔离敏感信息,通过dotnet user-secrets管理
    dotnet user-secrets init
    dotnet user-secrets set "Jwt:Key" "YourSecureKeyHere"
    
  2. CI/CD集成

    • 在对话窗口输入生成GitHub Actions配置用于构建和部署到Azure,AI将生成:
      name: .NET Core CI
      
      on: [push]
      
      jobs:
        build:
          runs-on: ubuntu-latest
          steps:
          - uses: actions/checkout@v4
          - name: Setup .NET
            uses: actions/setup-dotnet@v3
            with:
              dotnet-version: 8.0.x
          - name: Restore dependencies
            run: dotnet restore
          - name: Build
            run: dotnet build --configuration Release --no-restore
      
  3. 代码质量管控

    • 输入添加SonarQube静态分析配置,生成:
      <PropertyGroup>
        <SonarQubeExclude>**/Migrations/**</SonarQubeExclude>
        <SonarQubeTestProject>false</SonarQubeTestProject>
      </PropertyGroup>
      

六、Cursor高级功能挖掘

  1. 代码可视化

    • 输入生成Book类的UML类图,AI输出PlantUML代码:
      @startuml
      class Book {
        +int Id
        +string Title
        +string Author
        +string ISBN
      }
      @enduml
      
    • 安装PlantUML扩展直接预览
  2. SQL转换

    • 输入将以下LINQ转换为原生SQL
      context.Books.Where(b => b.Author == "J.R.R. Tolkien").OrderBy(b => b.Title)
      
    • AI输出:
      SELECT * FROM Books 
      WHERE Author = 'J.R.R. Tolkien' 
      ORDER BY Title ASC
      
  3. 多模态开发

    • 上传界面草图,输入根据此UI生成WPF XAML代码,AI生成:
      <Window>
        <Grid>
          <DataGrid ItemsSource="{Binding Books}">
            <DataGrid.Columns>
              <DataGridTextColumn Header="Title" Binding="{Binding Title}"/>
            </DataGrid.Columns>
          </DataGrid>
        </Grid>
      </Window>
      

以上补充内容覆盖了企业级开发的完整生命周期。实际使用时建议:

  1. 分模块逐步生成代码
  2. 对关键业务逻辑进行人工复核
  3. 建立项目级的cur---sor-context.md文件记录常用提示词模板

推荐图书:
点击链接:《用Cursor玩转AI辅助编程——不写代码也能做软件开发》

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐