2017-10-04 31 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项目中打开源。

相关问题