跳到主要內容

發表文章

Visual Studio 問題處理-執行選取的程式碼產生器時發生錯誤:值-1在可接受的[0,2147483647]範圍之外

Visual Studio 問題處理 開啟之前完成的MVC專案後,要建立新控制器時,會出現這樣的錯誤 執行選取的程式碼產生器時發生錯誤:值 -1 在可接受的 [0,2147483647] 範圍之外 原本以為是安裝了什麼擴充套件,把所有套件移除後,情況依然沒有改善,於是重新安裝Visual Studio 也是一樣,而且奇怪的是,新開的MVC專案不會有這個問題,都是之前存檔的專案,於是我猜可能是我在專案裡面有加了那些套件所導致,因此我一個一個套件移除嘗試,終於找到幾個比較可疑的套件,當我把這些套件移除掉的時候,我就可以建立新的控制器了。 以下為移除套件的做法 1.打開WEB專案跟目錄底下的 packages.config 把這幾個套件註解掉,有就註解掉。 Microsoft.Extensions.DependencyInjection.Abstractions Microsoft.Extensions.Logging Microsoft.Extensions.Logging.Abstractions Microsoft.Extensions.Options Microsoft.Extensions.Primitives 因為你用NUGET管理器去移除很慢所以就用這個方式弄掉。 2.把WEB專案卸載 然後打開專案檔 一樣註解掉 再將專案重新載入,並將專案重新建置即可。 我目前處理這個問題的方式就是用這樣的方式,都可以解決這個問題,但是我不知道是基於什麼原理讓套件影響到檔案的建立。 以上就是我在這個問題的解決方式,如果您有更好的方法,歡迎你一起分享出來,在此先謝謝您了。
最近的文章

29種 ARDUINO 編輯器

1.Arduino 原廠 https://www.arduino.cc/ 2.Mixly http://maker.bnu.edu.cn/mixly 3.ArduBlock (Java) http://blog.ardublock.com/ 4.Mind+ http://www.oschina.net/p/mindplus 5.ArduinoBox 失效,僅剩綠色版 6. Brackets http://brackets.io/ 7.Arduino Web Editer https://create.arduino.cc/redeem 8. Scratch http://s4a.cat/ 9. Krobot https://www.kenrobot.com/ 10. Minibloq http://blog.minibloq.org/ 11. Modkit Micro http://www.modkit.com/micro 12. Visuino ( 商業 ) https://www.visuino.com/ 13. Embrio ( 商業 ) http://embrio.io/ 14. Flowcode ( 簡易免費+商業 ) 15. Soapbox Snap http://soapboxautomation.com/products/soapbox-snap/ 16.M yrobotlab http://www.myrobotlab.org/ 17. Blockly https://developers.google.com/blockly/ 18. Druid Builder http://devicedruid.com ( 網站失效,但可以在微軟應用商城下載 ) 19. Teensy Audio Library https://www.pjrc.

讓IIS自動安裝Let’s Encrypt 免費 SSL,並到期自動更新

由於GOOGLE引擎在2017年1月開始,會將沒有SSL的網站標示為不安全,並會優先收錄具有SSL的站台,因此為網站準備一個SSL證書勢在必行,但是一個SSL證書的價格並不是小網站站主所能負擔的,於是網路上就出現了一個叫做Let’s Encrypt 的認證機構,他們推出了一個免費的SSL認證計畫,頓時間SSL變成人人可低成本取得,只是這個免費SSL的有效期間很短,只有3個月。 可以參考 " SSL For Free 免費 SSL 憑證申請,使用 Let’s Encrypt 最簡單方法教學! "這篇文章的步驟進行申請,這裡只是申請並下載憑證,產生的憑證是 .crt ,IIS 只能使用 .pfx 憑證檔,沒有辦法直接使用在IIS上面,必須再經過轉換,你可以參考 " 使用 SSL For Free 產生 Let’s Encrypt SSL 憑證上傳給 IIS 站台使用 ",這篇文章將會教你如何將.crt轉成.pfx,然後在IIS中安裝憑證。 以上方法都是手動設定,說真的每次設定都要手動,一個兩個網站還好,要是有很多個網站,或是忘記更新也是很麻煩的,還好有大神寫好了一個能夠自動下載憑證、幫你安裝好憑證,再幫你紀錄好什麼時候該更新憑證,透過一些小手腳就能幫你自動化更新憑證,讓你安枕無憂的好程式。 首先你必須下載  https://github.com/Lone-Coder/letsencrypt-win-simple/releases/  最後發行版本。 下載後,解壓縮到任一目錄底下。 .config 是這個軟體的設定檔,大致上不需修改,預設設定都很合理,例如更新天數設定60天,其主要用意就是讓你有時間去反應,以免時間到期來不及反應。 有興趣修改設定的人可以 參考設定用法 。 letsencrypt.exe 就是這次的主角,你可以直接執行,會有互動式選項讓你直接選擇,並且幫你自動下載憑證、安裝憑證。 大致上的過程如下 1.執行程式,會先問你在SSL For Free所設定好的電子信箱位置,如果你還沒有設定好,請你參考文章開頭所介紹的網站,執行到可下載憑證並設定通知信箱為止。 2.接著問你要做哪些事情: 選N:建立一個新的憑證,如果你還沒有憑證。 3.然後問你是要為一個網站

ASP.NET WEB API 文件工具:Swagger-Net

Swagger-Net 是一個協助開發者將 Swagger 嵌入到ASP.NET 的WEB API中的套件,這個套件 結合ApiExplorer和Swagger / swagger-ui(3.x),為API使用者提供豐富的API使用體驗,不用再像之前一樣,必須安裝三到四個套件,才能完成將Swagger安裝到WEB API專案。 所以這個套件,已經成為我開發API時必裝的套件,誠心推薦各位使用。 安裝很簡單,只要從NuGet安裝 Swagger-Net 套件,這個套件已經幫你整合了所有需要的東西,所以安裝後幾乎不用再動到程式,除非有特別的需求。 安裝以後,在從專案屬性中,勾選輸出中的XML文件檔案。 注意,請勿更改路徑與檔名。 接著執行網站,在localhost後面輸入 /swagger 就可以看到畫面了。 這個畫面就是Swagger的API說明頁面。你可以在這裡查看所有的API說明、範例,還可以測試。 這是範例畫面 測試畫面 之前使用Swagger需要安裝的套件,現在都整合在一起了,非常好用,值得推薦。

設定TFS 組建 Agent 組建代理程式

從 TFS 伺服器頁面下載組建代理程式 Team Services: https://{your_account}.visualstudio.com/_admin/_AgentPool TFS 2017: https://{your_server}/tfs/DefaultCollection/_admin/_AgentPool TFS 2015: http://{your_server}:8080/tfs/_admin/_AgentPool 下載後解壓縮到新建立的資料夾 例如  C:\tfsagent\vsts-agent-win7-x64-2.112.0> 接著打開 POWER SHELL 記住 POWER SHELL 版本需要 3.0 或更高 可以在 Power Shell 命令提示字元用 Get-Host 這個指令查詢版本 第一步設定 A gent 輸入  .\config.cmd 會出現 >> 連線 : 請輸入 伺服器 URL > 這裡請輸入 TFS SERVER 的 URL 例如 http:// my tfs:8080/tfs/ 接著出現 請輸入 驗證類型 ( 請為 Integrated 按 Enter) > 請按 ENTER 通過 接著會去連線伺服器,如果正確連線就會出現 正在連線到伺服器 ... >> 註冊代理程式 : 請輸入 代理程式集區 ( 請為 default 按 Enter) > 出現輸入代理程式集區,這裡跟在 TFS 中設定集區名稱有關 : 依照你目標集區名稱設定,或直接按下 ENTER 通過 接著會出現要把代理設為什麼名字 請輸入 代理程式名稱 ( 請為 M yWorkPC 按 Enter) > 預設是你的電腦名稱,如果有需要可以自訂,沒有就直接按下 ENTER 通過 接著會開始設定 Agent 正在掃描工具功能。 正在連接至伺服器。 已成功新增代理程式 正在測試代理程式連線。 設定完 Agent 會問你設定工作資料夾,直接

問題解決: 類型 'Expression<>' 定義在未參考的組件中。您必須加入組件 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 的參考。

錯誤 CS0012 類型 'Expression<>' 定義在未參考的組件中。您必須加入組件 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 的參考。 解決方法: 這是 Visual Studio 已知錯誤,解決方法 : 1. 將專案卸載 2. 在卸載的專案上面右鍵編輯 .csproj 3 . 找到 Reference  後添加這段進去 < Reference   Include ="System.Core">       < EmbedInteropTypes >False</ EmbedInteropTypes >       < Private >True</ Private >     </ Reference > 4. 儲存後重新載入專案即可

使用AJAX擴充功能的PageMethods實現前端JS呼叫後端方法

如果WEBFORM頁面有呼叫後端方法去執行某些工作的時候,可以使用微軟的AJAX擴充功能的PageMethods來實現。 首先在頁面中增加AJAX 的 ScriptManager ,並將ScriptManager增加 EnablePageMethods="true" < asp : ScriptManager   ID = "ScriptManagerID"   runat = "server"   EnablePageMethods = "true" ></ asp : ScriptManager > 並在後端程式碼中選擇一個方法將它變成靜態方法並在方法前面增加一個[WebMethod] [ WebMethod ]          public   static   string   Update ( string   Id )         { //呼叫後處理              ........         } (WebMethod 需 using System.Web.Services) 接著在前端的js中增加呼叫與返回函式 function  CallMethod (value)   {                                                 //呼叫Server Function                    PageMethods . Update ( value ,  OnSuccess ,  OnFailure );              }              function  OnSuccess ( result )   {                 console . log ( result );              }              function  OnFailure ( error )   {                  if   ( error  !=   null )   {