2017-10-04 34 views
0

有一個工作的asp.net應用程序。現在試圖用github的本地克隆項目替換一個官方捆綁的asp.net組件。例如。 EntityFrameworkCore如何使用github的本地源碼調試asp.net應用程序,例如EntityFrameworkCore

https://github.com/aspnet/EntityFrameworkCore

使用Visual Studio 2017年至今最好的發現是這個職位,但指的過時的方法與global.jsonhttps://blogs.msdn.microsoft.com/webdev/2015/02/06/debugging-asp-net-5-framework-code-using-visual-studio-2015/

有沒有發現到後期的任何更新,也許一個OUT- Visual Studio中存在解決方案嗎?這應該通過NuGet包裝系統來處理嗎?歡迎提供任何提示。

+1

在VS2017中,所有.Net核心軟件包都包裝在Microsoft.AspNetCore.All nuget軟件包中。因此,如果您想調試其某個依賴項(例如EntityFrameworkCore),則需要卸載整個Microsoft.AspNetCore.All軟件包,然後引用所有相關的軟件包項目,這很複雜。所以我建議你選擇Microsoft Symbol Servers選項來調試EF核心代碼。 –

+0

@Jonas Bojesen,你現在可以調試你的ASP.NET應用嗎? –

+0

嘗試適應以下https://forums.asp.net/t/2129843.aspx?Howto+debug+asp+net+app+with+local+source+from+github+e+g+EntityFrameworkCore中的建議+交叉+後+從+ SO +但我得到的結構給了噸CS0122 - 「由於其保護級別無法訪問」。現在我會直接嘗試在響應中逐步重現建議。 –

回答

0

基於答案https://forums.asp.net/t/2129843.aspx?Howto+debug+asp+net+app+with+local+source+from+github+e+g+EntityFrameworkCore+cross+post+from+SO+

差異最顯著,沒有替代嚴格的API netstandard2.0與豐富的API netcoreapp2.0。這保留了使用克隆的github項目的命令行版本進行驗證的可能性。

步驟一步指令例如用從GitHub Mvc項目,釋放2.0.0

  • 克隆Mvc項目形式的github https://github.com/aspnet/Mvc

  • 選擇標記例如版本2.0.0:>git checkout rel/2.0.0

  • 從Visual Studio ASP.NET Core Web Application創建測試項目。例如MyWebAsp.Net

  • 刪除完整捆綁的asp.net軟件包。在Projects中,依賴項刪除NuGet包Microsoft.AspNetCore.All

  • Microsoft.AspNetCore.All包含直接WebHost.cs連同捆綁的pakages。 從asp.net github項目中選擇MetaPackagesWebHost.csrel/2.0.0版本https://github.com/aspnet/MetaPackages/blob/rel/2.0.0/src/Microsoft.AspNetCore/WebHost.cs 並將其添加到MyWebAsp.Net項目中。 (與例如Startup.cs相同的位置)

  • 添加NuGet開發包源代碼(bullet 2 forums.asp.net答案)。 https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json

  • 現在有缺少一些Microsoft.AspNetCore.All捆綁asp.net包,將它們添加到相關性,例如的NuGet Install-Package Microsoft.AspNetCore.Server.Kestrel -Version 2.0.0注意
    Microsoft.AspNetCore.Mvc包不應該添加:-)它將被添加爲項目。

  • 要解決方案添加Microsoft.AspNetCore.Mvc項目和子項目缺失的程序集。 (子彈7 forums.asp.net答案)。

  • 對於該項目,例如MyWebAsp.Net添加依賴項,項目編號爲Microsoft.AspNetCore.Mvc項目。

  • 現在一切都應該到位。可以通過Solution cleanSolution rebuild進行驗證。然後在例如得到方法ValuesController.cs,旋轉調試器。當在斷點處暫停時,Call Stack應從本地clonede github Mvc項目中打開源。

相關問題