我有一个MVC项目解决方案和一个单独的API项目解决方案(因为它由其他不同的解决方案使用)。
调试期间是否可以在调试时访问API解决方案代码?
两个解决方案显然都在运行,可以提供正确的数据和结果,问题是我在调试期间无法访问API项目代码-调试器跳过了API,仅访问了主要解决方案。
编辑 我意识到该API是一个单独的程序包,并且在主解决方案中被作为程序集引用,因此我不确定是否有可能完全达到断点?不能通过Ajax使用。
答案 0 :(得分:2)
是的,有可能。
只需在Visual Studio中打开两个解决方案即可。生成API项目并将其dll添加到MVC项目。将断点放在您的API上并运行API项目。现在运行您的MVC项目。从您的MVC项目中点击该API,断点一定会进入该API。
答案 1 :(得分:0)
是的,有可能。
假设您使用的是Visual Studio,请启动另一个实例,并将其附加到API的运行过程中。在您的API中放置一个断点,然后在MVC端执行任何操作,以达到API中的正确端点。执行将停止,您现在也可以在第二个项目中进行调试。
这一切都取决于您如何运行API,甚至可以使用IIS Express从Visual Studio运行API,在这种情况下,您的URL例如看起来像http:\\localhost\api\sbla\bla:50310
。
当API在适当的IIS中的Visual Studio外部运行时,附加效果很好。 确保选中“显示所有进程”框,然后寻找一个名为w3wp的进程,我认为这全部来自内存。
您无法从MVC项目中调试API,因为它们都在不同的进程中运行
------在附加信息之后添加了----
如果API内容位于dll中,请确保该dll是在调试模式下构建的,然后您可以进入该程序。在您有一个进入dll的调用之前,在MVC代码中放置一个断点,然后进入其中并通过正常调试从那里继续