【C#】.net 5 踩坑 记录

本文记录了作者在使用.NET 5进行项目开发时遇到的问题及解决方案,包括HTTPS配置导致的图片显示问题、返回JSON的方法、编译后的View文件、Swagger接口文档错误、线上Swagger访问问题以及WinForm设计界面加载失败等。通过调整项目配置、引入NuGet包和修改代码实现了问题的解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    之前的项目都是 .net  framework 的,未曾正式触碰到 .net core,但是 最近 项目 使用了 .net 5,踩了不少坑,所以再次做个记录(不一定是 .net core 的 坑)。

1. 关于 https 的。项目 运行的 时候 给默认 是 https的了,导致 http 的 图片 显示 失效

百度了之后,看到 这篇文章 ,里面写道 相关的 内容, 应该是创建 项目的时候给 选到 了 配置 https 或是 ssl ,

不过 按里面的 做法 还没有 解决 问题 ,后面 直接项目 右键  → 属性 → 调试 → 取消 勾选 启用ssl  →保存重新运行 就好了 

2. 用惯了 webApi 里的 ApiController 的 return Json(object)

目前 发现 可以 改用 return new JsonResult(object)  来代替,不过现在 直接 使用  返回 实体 类型 了

3.发布 编译出来的 的 View 是 DLL 文件

这样 感觉 要单个修改 好像挺麻烦的 ,通过网上 找到了解决办法 ,步骤如下

A.csproj 文件中的 PropertyGroup 节点下 添加下面的配置

<RazorCompileOnBuild>false</RazorCompileOnBuild>

<RazorCompileOnPublish>false</RazorCompileOnPublish>

B.弄完后,运行会发现出错,所以还需要 安装 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation  NuGet 包
将项目的 Startup.ConfigureServices 方法更新为包含对 AddRazorRuntimeCompilation 的调用:
services.AddControllersWithViews().AddRazorRuntimeCompilation();

或者 

services.AddRazorPages().AddRazorRuntimeCompilation();

C.再次运行发现没问题,但是 发布 又出现了 很多语言包,不需要啊

同样 需要 在 .csproj 文件中的 PropertyGroup 节点下 添加下面的配置

<SatelliteResourceLanguages>zh-Hans</SatelliteResourceLanguages>

如果要添加多种语言,那么以";"分隔,en 是默认的

4. 用了swagger 写了几个接口 发现 这个文档运行一直报错  

以前用习惯了 MVC ,所以没这个习惯 去写  请求方式和路由,所以加上这两个就好了

   [HttpGet]
   [Route("userinfo")]

5.swagger 放到线上 突然 访问不了 ,接口 是正常的 

原因:由于 项目拆开, 所以 其他项目的  xml 文件 要另外 发布(复制输出到目录)  

6. .net core  winform  的 Form1 突然打不开了 提示 

The designer cannot be shown because the document for it was never loaded

解决:Form1 右键 选择 打开方式,选择 如图 的选项 就好了 (不过好像 还有点问题)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沃祐进先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值