最近.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对应的目录即可

更多相关文章

  1. .Net Core之实现下载文件的实例
  2. ASP.NET Core类库项目中如何实现读取配置文件的详解
  3. C#中实现复制与删除文件的方法
  4. 有关ASP.NET中Config文件的读写讲解
  5. Asp.NET控制文件上传的大小方法(超简单)_实用技巧
  6. 一招搞定C++调用Lua代码配置文件函数(附代码)
  7. 技术解答CSV 文件的一个 .NET 库:CsvHelper 中文文档
  8. 怎么判断两个文件是否是同一个文件 (代码)
  9. C#中将DataGridView中的数据导入到Csv文件及导出到Excel

随机推荐

  1. Android DrawerLayout 侧边栏使用之道
  2. Android 打勾显示输入的密码
  3. Android 开发环境安装配置手册
  4. Android(安卓)MonkeyRunner测试NotePad例
  5. MainFest.xml android
  6. 20个Android游戏源码,…
  7. js 判读是iPhone还是Android
  8. android tween动画效果
  9. android在google map上画出导航路线图
  10. Android APN