如何使用github的本地源调试asp.net应用程序,例如EntityFrameworkCore

时间:2017-10-04 10:07:22

标签: asp.net debugging visual-studio-2017

有一个有效的asp.net应用程序。现在尝试用github中的本地克隆项目替换其中一个官方捆绑的asp.net组件。例如。 EntityFrameworkCore

https://github.com/aspnet/EntityFrameworkCore

使用Visual Studio 2017.到目前为止找到的最好的是这篇文章,但是使用global.json https://blogs.msdn.microsoft.com/webdev/2015/02/06/debugging-asp-net-5-framework-code-using-visual-studio-2015/

引用了过时的方法

Haven没有发现帖子的任何更新,也许Visual Studio中存在一个开箱即用的解决方案?这应该通过NuGet包裹系统来处理吗?欢迎任何提示。

1 个答案:

答案 0 :(得分: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项目MetaPackages中选择WebHost.cs版本https://github.com/aspnet/MetaPackages/blob/rel/2.0.0/src/Microsoft.AspNetCore/WebHost.cs中的rel/2.0.0 并将其添加到MyWebAsp.Net项目中。 (与Startup.cs

  • 相同的位置
  • 添加NuGet dev包源(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软件包,将它们添加到Dependencies,NuGet,例如Install-Package Microsoft.AspNetCore.Server.Kestrel -Version 2.0.0注意事项 不应添加Microsoft.AspNetCore.Mvc包:-)它将作为项目添加。

  • 在解决方案中添加程序集缺少的Microsoft.AspNetCore.Mvc项目和子项目。 (bullet 7 forums.asp.net回答)。

  • 对于项目,例如MyWebAsp.Net添加依赖关系,项目对Microsoft.AspNetCore.Mvc项目的引用。

  • 现在一切都应该到位。可以使用Solution cleanSolution rebuild进行验证。然后在例如断点处放置一个断点获取方法ValuesController.cs,旋转调试器。在断点处停止时,Call Stack应该从本地clonede github Mvc项目中打开源。