[英]Debugging NuGet packages using Visual Studio 2017
在 Visual Studio 2015 和 .NET Core 開發中,我們可以通過將源代碼從源(例如 GitHub)檢索到本地磁盤,將源路徑添加到global.json
下載的源代碼並在中引用 NuGet 包來global.json
NuGet 包我們的項目。 這導致對下載的源代碼中的項目的引用在當前解決方案中自動可見,從而可以輕松調試(有關此功能的更多信息可以在本文中閱讀)。
有誰知道如何使用 Visual Studio 2017 做同樣的事情? 由於global.json
消失了,我找不到任何解決方案。
我看到這已成為一個流行的問題,但是,實際上可以改進其產品的請求中沒有 MS(就目前在 Visual Studio 中的大多數時間而言)。
有一些關於如何使用來自 Microsoft 的參考庫的帖子,但這並不適用於所有項目,而且您將調試優化的發布位,這限制了監視和步進功能。 我也覺得這樣做甚至會進一步減慢 Visual Studio 的速度。 這篇文章中描述了這種方法。
但是,最近我找到了解決此問題的方法。 它並不總是穩定的,但可以做的是將相關項目添加到您的項目中作為項目參考。
但這里是我所做的最有效的步驟:
構建和調試,在輸出窗口中檢查是否使用了位於項目輸出文件夾中的程序集。 如果是,只需在引用的項目中點擊斷點,您就會擁有完整的調試功能。
使這項工作有點嘗試和失敗,但它最終確實有效。
可以在項目引用上創建條件以確保它們不是內置在例如發布版本中,但是,請注意更改配置需要您在更改后重新加載您的解決方案!
我已經為此掙扎了很長時間。 這是我發現可重復使用的最簡單方法:
創建本地 nuget 源:
將剛剛創建的 .nuget 文件放在 C:\\Nuget 中(例如)
在 Visual Studio 中,選擇工具/選項/Nuget 包管理器/包源
按綠色 (+) 圖標。 將路徑添加到您在上面創建的本地 nuget 包 (C:\\Nuget) 並將包源移動到列表頂部。
在您的解決方案中,對於每個項目,刪除先前對外部 nuget 包的引用,並從本地 nuget 源添加新的 nuget 包。
開始調試,您應該能夠進入 nuget 包的代碼。
我可以在我構建 nuget 包的源代碼中設置一個斷點,並在我運行代碼時讓它中斷。
上面的所有步驟都有點煩躁,您可能需要玩幾次才能讓它工作。
如果這對你有用,請在評論中告訴我。 如果是這樣,我將不勝感激! :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.