使用 C# 7.0 调试 dll 并在 VS2013 上只能 运行 的 LightSwitch 项目使用时从 VS 2017 构建

Debug a dll using C# 7.0 and build from VS 2017 when consumed by a LightSwitch project that can only run on VS2013

我有一个遗留的 LightSwitch 应用程序要处理。它只能在 VS2013 上运行(甚至不能在 VS2015 上运行)。 我在 VS2017 中有一个新项目,它将反腐败层库公开为 LightSwitch 项目使用的 dll。

调试LightSwitch项目时,想在livrary的cs文件中设置断点

备注:

1°) VS2013 无法加载 dll 符号(即使我 select 从 Debug>Windows>Modules 手动加载它们)。它说 "a matching symbol file was not found in this folder".

2°) 我不能只将库项目添加到 LightSwitch 解决方案中,因为它针对 net45 以及 netstandard2.0 并使用 C# 7.0

3°) 我尝试将 VS2017 附加到 运行 LightSwitch 应用程序,但找不到要附加的正确进程。我尝试了 iss 和 iexplorer,但 none 成功了。

从您的库代码启动调试器:

System.Diagnostics.Debugger.Launch();

无需调试即可启动您的应用程序,一旦它到达代码,它将提供打开 VS 调试器的功能。

我使用这种方法来调试托管 COM 库,您甚至可以调试从 bat 文件调用的库。