最近.NET Core升级到2.0后开始慢慢捣鼓的多了起来,但遇到了不少坑,所以特来记录下。

第一个坑  条件编译符

  我们在编写一些方法的时候通常会为Debug模式增加一些输出日志等以便我们检查,也会为Release模式增加或修改一些特定的参数,但今天我在写这些的时候就遇到了这个坑
#if !DEBUG  #endif 中间的代码 不能我怎么更改配置环境 始终是灰色,这让我开始怀疑,难道VS 2017 的.NET Core 不支持条件编译符了?

于是新建了个控制台程序测试了以下,但又发现还是起作用了的如下:

这里就可以 看到 我明明不是Debug环境啊,可是 #if DEBUG的还是正常色,!DEBUG的还是灰色,直接F5运行后 发现结果出乎我意外

结果居然是正常的,如何我又怀疑是我vs 更新后出问题了,于是我又用.net framework 旧格式创建一个了一个项目发现旧的又是好的

第二个坑  .NET Core MVC下的部分文件无法下载

   使用.NET Core MVC创建了一个站点,本来使用的还蛮好的,但后来配备了app 于是就直接把apk 文件放到 网站的wwwroot目录下了,改了个名字就叫app.apk,然后访问: http://127.0.0.1/app.apk 返回给我一个404 not find

因为搞iis 还是比较多,于是马上想到一个是每天添加 mime导致,于是去iis站点里面增加,发现以及存在了

瞬间就懵逼了,于是就从到请求筛选里面去找找是不是在那被禁止了 但发现也没用,于是又把文件改成app.apk.zip试了下,发现zip是可以下载的

第三个坑  .NET Core  2.0 MVC 的试图文件

        从2.0开始貌似试图文件被直接打包成了dll文件,不在像传统的mvc一样发布后还是shtml文件,而是被编译成了dll文件 命名规则是 项目名称.PrecompiledViews.dll

第四个坑  .NET Core  引用DLL问题

        我们以前开发总是把一些常用的某些功能性的单独做成一个类库 编译成dll 后供项目使用,但这样做好像在.NET Core的项目中行不通

起初我写了一个公共的类库,在解决方案里面又新增了一个类库,去引用公共类库的项目,这样做的时候并没有什么异常,但当我启动另外一个vs创建一个新的解决方案添加项目在去引用公共类库的dll后 在vs里面写代码都很正常,代码提示也都有

但是一按F5 调试就出来坑了,报未能找到类型或命名空间

解决方案是把公共类库打包 生成NuGet包

然后通过管理NuGet包添加引用,但很多情况下 一些类库我并不想都放到nuget.org上面,可以把生成的nuget包放置Microsoft Visual Studio Offline Packages 离线包里面

放到Microsoft Visual Studio Offline Packages对应的目录即可

最近使用 .NET Core 遇到的一些坑的更多相关文章

  1. 解决VS Code调试.NET Core应用遇到的坑

    为什么会有”坑“ 博客园里有好多介绍怎么使用VS Code以及调试.NET Core的文章,但是都是基于直接构建Asp.Net Core Mvc单项目的,有什么区别呢! (1).我们这次遇到的坑是在多 ...

  2. EF Core HasQueryFilter 的小坑

    这是今天在实际项目中遇到的一个问题,Entity Framework Core 2.2 生成了下面的 SQL 语句,INNER JOIN 部分丑陋的 SQL 语句让人无法忍受. SELECT TOP( ...

  3. NET Framework项目移植到NET Core上踩的坑(1)

    本文章向大家介绍NET Framework项目移植到NET Core上遇到的一系列坑,主要包括NET Framework项目移植到NET Core上遇到的一系列坑使用实例.应用技巧.基本知识点总结和需 ...

  4. Keycloak & Asp.net core webapi 整合跳坑之旅

    前言 之前,一直使用IdentityServer4作为.net core程序的外部身份认证程序,ID4的优点自不必说了,缺点就是缺乏完善的管理界面. 后来,学习java quarkus框架时,偶然遇到 ...

  5. 在Linux上用supervisor运行ASP.NET Core站点的一个坑

    将一个ASP.NET Core站点在Linux服务器上以self-contained部署方式发布出来后,直接在终端上运行下面的命令,站点可以正常运行. /data/AboutUs/bin/Debug/ ...

  6. .net core建站踩坑记录

    系统:win10 VS版本:2017 .NET Core 版本: 1.1 零.读取配置文件 参考:http://www.tuicool.com/articles/QfYVBvi 此版本无需添加其他组件 ...

  7. .NET CORE 2.0 踩坑记录之ConfigurationManager

    在之前.net framework 中使用的ConfigurationManager还是很方便的,不过在.NET CORE 2.0中SDK默认已经不存在ConfigurationManager. 那么 ...

  8. net core 环境部署的坑

    1.supervisor “no such file” error. 检查指令是否正确,路径.dotnet环境是否正常 2.Couldn‘t find a valid ICU package inst ...

  9. 又踩.NET Core的坑:在同步方法中调用异步方法Wait时发生死锁(deadlock)

    之前在将 Memcached 客户端 EnyimMemcached 迁移 .NET Core 时被这个“坑”坑的刻骨铭心(详见以下链接),当时以为只是在构造函数中调用异步方法(注:这里的异步方法都是指 ...

随机推荐

  1. Andoird开发手机壁纸

    Android 开发手机壁纸3种方法 首先使用WallpaperManager wpm = (WallpaperManager) getActivity().getSystemService(Cont ...

  2. 借助VBScript让Windows系统发出声音

    借助VBScript让Windows系统发出声音.. 文件I Love You.VBS中的内容是: CreateObject("SAPI.SpVoice").Speak" ...

  3. 浏览网页之Web服务器

    Web服务器... ----------------------------- 网站服务器响应用户请求 ========================= 浏览网页的时候需要翻越一道墙 Firewal ...

  4. flannel 的连通与隔离 - 每天5分钟玩转 Docker 容器技术(61)

    上一节我们在 flannel 网络中部署了容器,本节讨论 flannel 的连通和隔离特性. flannel 网络连通性 测试 bbox1 和 bbxo2 的连通性: bbox1 能够 ping 到位 ...

  5. 阿里云ECS部署ES

    背景 最近越来越多的公司把业务搬迁到云上,公司也有这个计划,自己抽时间在阿里云和Azure上做了一些小的尝试,现在把阿里云上部署ES和kibana记录下来.为以后做一个参考,也希望对其他人有帮助. 这 ...

  6. 转每天一个linux命令(3):pwd命令

    Linux中用 pwd 命令来查看"当前工作目录"的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录. 在不太确定当前位置时,就会使用pwd来判定当前目录在文 ...

  7. When Startup Disk is Full

    参考自What To Do When Your Mac's Startup Disk is Almost Full Delet——Empty Trash

  8. 数据结构-环形队列 C和C++的实现

    队列: 含义:是一种先入先出(FIFO)的数据结构. 当我们把数据一个一个放入队列中.当我们需要用到这些数据时,每次都从队列的头部取出第一个数据进行处理.就像排队进场一样,先排队的人先进场. 结构如下 ...

  9. pyhton安装pillow问题解决

    最近在学习Python的微信处理相关,因wxpy库中的微信客户端需要接收二维码需要安装pillow,如下 class wxpy.Bot(cache_path=None, console_qr=Fals ...

  10. ADO.NET中SQL Server数据库连接池

    连接到数据库服务器通常由几个需要很长时间的步骤组成. 必须建立物理通道(例如套接字或命名管道),必须与服务器进行初次握手,必须分析连接字符串信息,必须由服务器对连接进行身份验证,必须运行检查以便在当前 ...