使用 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 文件调用的库。
我有一个遗留的 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 文件调用的库。