這篇文章主要介紹了.NET Core中會遇到什么坑,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
呈貢網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)建站于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)建站。
第一個坑 條件編譯符
我們在編寫一些方法的時候通常會為Debug模式增加一些輸出日志等以便我們檢查,也會為Release模式增加或修改一些特定的參數(shù),但今天我在寫這些的時候就遇到了這個坑
#if !DEBUG #endif 中間的代碼 不能我怎么更改配置環(huán)境 始終是灰色,這讓我開始懷疑,難道VS 2017 的.NET Core 不支持條件編譯符了?
于是新建了個控制臺程序測試了以下,但又發(fā)現(xiàn)還是起作用了的如下:
這里就可以 看到 我明明不是Debug環(huán)境啊,可是 #if DEBUG的還是正常色,!DEBUG的還是灰色,直接F5運行后 發(fā)現(xiàn)結果出乎我意外
結果居然是正常的,如何我又懷疑是我vs 更新后出問題了,于是我又用.net framework 舊格式創(chuàng)建一個了一個項目發(fā)現(xiàn)舊的又是好的
第二個坑 .NET Core MVC下的部分文件無法下載
使用.NET Core MVC創(chuàng)建了一個站點,本來使用的還蠻好的,但后來配備了app 于是就直接把apk 文件放到 網(wǎng)站的wwwroot目錄下了,改了個名字就叫app.apk,然后訪問: http://127.0.0.1/app.apk 返回給我一個404 not find
因為搞iis 還是比較多,于是馬上想到一個是每天添加 mime導致,于是去iis站點里面增加,發(fā)現(xiàn)以及存在了
瞬間就懵逼了,于是就從到請求篩選里面去找找是不是在那被禁止了 但發(fā)現(xiàn)也沒用,于是又把文件改成app.apk.zip試了下,發(fā)現(xiàn)zip是可以下載的
第三個坑 .NET Core 2.0 MVC 的試圖文件
從2.0開始貌似試圖文件被直接打包成了dll文件,不在像傳統(tǒng)的mvc一樣發(fā)布后還是shtml文件,而是被編譯成了dll文件 命名規(guī)則是 項目名稱.PrecompiledViews.dll
第四個坑 .NET Core 引用DLL問題
我們以前開發(fā)總是把一些常用的某些功能性的單獨做成一個類庫 編譯成dll 后供項目使用,但這樣做好像在.NET Core的項目中行不通
起初我寫了一個公共的類庫,在解決方案里面又新增了一個類庫,去引用公共類庫的項目,這樣做的時候并沒有什么異常,但當我啟動另外一個vs創(chuàng)建一個新的解決方案添加項目在去引用公共類庫的dll后 在vs里面寫代碼都很正常,代碼提示也都有
但是一按F5 調試就出來坑了,報未能找到類型或命名空間
解決方案是把公共類庫打包 生成NuGet包
然后通過管理NuGet包添加引用,但很多情況下 一些類庫我并不想都放到nuget.org上面,可以把生成的nuget包放置Microsoft Visual Studio Offline Packages 離線包里面
放到Microsoft Visual Studio Offline Packages對應的目錄即可
感謝你能夠認真閱讀完這篇文章,希望小編分享的“.NET Core中會遇到什么坑”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!