Rumah pembangunan bahagian belakang Tutorial C#.Net .NET Core中遇到的一些坑的图文详解

.NET Core中遇到的一些坑的图文详解

Sep 21, 2017 am 11:48 AM
.net core Grafik dan teks

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

 

Atas ialah kandungan terperinci .NET Core中遇到的一些坑的图文详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mendayakan ciri integriti memori Teras Pengasingan dalam Windows 11 Bagaimana untuk mendayakan ciri integriti memori Teras Pengasingan dalam Windows 11 May 10, 2023 pm 11:49 PM

Kemas Kini Windows 11 2022 Microsoft (22H2) mendayakan perlindungan integriti memori CoreIsolation secara lalai. Walau bagaimanapun, jika anda menjalankan versi sistem pengendalian yang lebih lama, seperti Kemas Kini Windows 11 2022 (22H1), anda perlu menghidupkan ciri ini secara manual. Hidupkan ciri Integriti Memori CoreIsolation dalam Windows 11 Bagi pengguna yang tidak mengetahui tentang Pengasingan Teras, ini merupakan proses keselamatan yang direka untuk melindungi aktiviti teras asas pada Windows daripada program berniat jahat dengan mengasingkannya dalam ingatan. Proses ini, digabungkan dengan ciri integriti memori, memastikan

Apakah maksud teras komputer? Apakah maksud teras komputer? Sep 05, 2022 am 11:24 AM

Teras mempunyai dua makna dalam komputer: 1. Teras, juga dikenali sebagai teras, adalah bahagian terpenting CPU Semua pengiraan, menerima arahan storan, dan memproses data CPU dilakukan oleh teras; teras ialah nama pemproses Intel, Teras ialah jenama pemproses yang dilancarkan oleh Intel selepas pemproses Pentium Ia kini telah mengeluarkan pemproses Teras generasi kedua belas.

Apakah prospek pekerjaan C#? Apakah prospek pekerjaan C#? Oct 19, 2023 am 11:02 AM

Sama ada anda seorang pemula atau profesional yang berpengalaman, menguasai C# akan membuka jalan untuk kerjaya anda.

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET May 06, 2024 pm 04:43 PM

Perkembangan teknologi kecerdasan buatan (AI) sedang giat dijalankan hari ini, dan ia telah menunjukkan potensi dan pengaruh yang besar dalam pelbagai bidang. Hari ini Dayao akan berkongsi dengan anda 4 rangka kerja projek berkaitan LLM model AI sumber terbuka .NET, dengan harapan dapat memberi anda sedikit rujukan. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel ialah kit pembangunan perisian sumber terbuka (SDK) yang direka untuk menyepadukan model bahasa besar (LLM) seperti OpenAI, Azure

Cara Membetulkan Ralat Perjalanan Terma Pemproses dalam Windows 11/10 [Betulkan] Cara Membetulkan Ralat Perjalanan Terma Pemproses dalam Windows 11/10 [Betulkan] Apr 17, 2023 am 08:13 AM

Kebanyakan peranti, seperti komputer riba dan desktop, telah banyak digunakan oleh pemain muda dan pengkod untuk masa yang lama. Sistem kadang-kadang hang disebabkan oleh beban aplikasi. Ini memaksa pengguna untuk menutup sistem mereka. Ini berlaku terutamanya kepada pemain yang memasang dan bermain permainan berat. Apabila sistem cuba untuk but selepas penutupan paksa, ia melemparkan ralat pada skrin hitam seperti yang ditunjukkan di bawah: Di bawah ialah amaran yang dikesan semasa but ini. Ini boleh dilihat dalam tetapan pada halaman log acara. Amaran: Perjalanan haba pemproses. Tekan sebarang kekunci untuk meneruskan. ..Mesej amaran jenis ini sentiasa dilemparkan apabila suhu pemproses desktop atau komputer riba melebihi suhu ambangnya. Disenaraikan di bawah adalah sebab mengapa ini berlaku pada sistem Windows. Banyak aplikasi berat ada dalam

Teknologi pengoptimuman prestasi .NET untuk pembangun Teknologi pengoptimuman prestasi .NET untuk pembangun Sep 12, 2023 am 10:43 AM

Jika anda seorang pembangun .NET, anda mesti sedar tentang kepentingan mengoptimumkan fungsi dan prestasi dalam menyampaikan perisian berkualiti tinggi. Dengan menggunakan pakar sumber yang disediakan dan mengurangkan masa memuatkan tapak web, anda bukan sahaja mencipta pengalaman yang menyenangkan untuk pengguna anda tetapi juga mengurangkan kos infrastruktur.

Amalan pembangunan aplikasi merentas platform Teras .NET: perjalanan lancar dari Windows ke Linux dan macOS Amalan pembangunan aplikasi merentas platform Teras .NET: perjalanan lancar dari Windows ke Linux dan macOS Feb 26, 2024 pm 12:55 PM

Dengan pelancaran .NETCore, pembangun .NET mempunyai peluang baharu untuk menulis dan menjalankan aplikasi .NET dengan mudah pada berbilang sistem pengendalian. Artikel ini akan menyelidiki cara menggunakan .NETCore untuk mencapai pembangunan aplikasi merentas platform dan berkongsi pengalaman amalan terbaik pada sistem pengendalian seperti Windows, Linux dan macOS. 1. Sediakan persekitaran pembangunan Untuk memulakan pembangunan aplikasi merentas platform, anda perlu terlebih dahulu menyediakan persekitaran pembangunan untuk setiap platform sasaran. Windows Pada Windows, anda boleh memasang .NETCoreSDK melalui Visual Studio. Selepas pemasangan selesai, anda boleh mencipta dan menjalankan projek .NETCore melalui Visual Studio. Li

Perbezaan prestasi antara rangka kerja Java dan rangka kerja .NET Perbezaan prestasi antara rangka kerja Java dan rangka kerja .NET Jun 03, 2024 am 09:19 AM

Dari segi pemprosesan permintaan selaras tinggi, .NETASP.NETCoreWebAPI berprestasi lebih baik daripada JavaSpringMVC Sebabnya termasuk: Kompilasi awal AOT, yang mengurangkan masa permulaan pengurusan memori, di mana pembangun bertanggungjawab untuk memperuntukkan dan melepaskan memori objek.

See all articles