位于 nuget 包中的调试 C# 接口实现
Debug C# interface implemenation located in nuget package
我有 3 个项目:
- 项目 A 是主项目(.NET Core Web 应用程序)
- 项目 B 是一个 class 包含接口的 NuGet 包中的库
- 项目 C 是一个 class 实现接口的 NuGet 包中的库
我设法构建了包含 pbd 符号和源代码的 NuGet 包。 NuGet 包是在发布模式下构建的(这可能是问题所在吗?)
我已经按如下方式配置了我的调试设置
- 只有我的代码 未勾选
- 我正在加载两个 NuGet 包的符号
我可以进入所有 "regular" 方法,例如包含的扩展方法。
但是当我到达界面时,我无法让它进入实现界面的class。但是我可以从这个 NuGet 包的常规方法进入代码。
任何提示,如果这是不可能的,或者我错过了调试设置中的其他内容。
您可能有几个选择:
- 尝试构建 NuGet 包的调试版本,看看是否有帮助
- 或者,删除对 NuGet 包的引用,并直接包含和引用它们的项目,至少是暂时的;那应该让你直接调试它们。
如果没有别的办法,还有第三个选项:日志记录。
这可能不是您想听到的答案,但根据我的经验,解决此类问题的最佳方法可能是添加一些可以根据需要配置为启用或禁用的日志记录。
很多错误往往是由缺失值、缺失引用或其他一些错误配置引起的。一旦找到它们,修复它们可能很容易,但是在像这样的接口后面实现 "hidden",找到它们可能很困难。
找到一些方法将 input-values 暴露给您的逻辑,无论是通过登录数据库还是仅将 plain-text 日志写入文件,我敢打赌您会在下一个错误出现时为自己节省一些时间,如果不是之前的话。
...请记住在进入生产模式时禁用日志记录,尤其是在记录的数据可能包含任何敏感信息的情况下。
我有 3 个项目:
- 项目 A 是主项目(.NET Core Web 应用程序)
- 项目 B 是一个 class 包含接口的 NuGet 包中的库
- 项目 C 是一个 class 实现接口的 NuGet 包中的库
我设法构建了包含 pbd 符号和源代码的 NuGet 包。 NuGet 包是在发布模式下构建的(这可能是问题所在吗?)
我已经按如下方式配置了我的调试设置
- 只有我的代码 未勾选
- 我正在加载两个 NuGet 包的符号
我可以进入所有 "regular" 方法,例如包含的扩展方法。
但是当我到达界面时,我无法让它进入实现界面的class。但是我可以从这个 NuGet 包的常规方法进入代码。
任何提示,如果这是不可能的,或者我错过了调试设置中的其他内容。
您可能有几个选择:
- 尝试构建 NuGet 包的调试版本,看看是否有帮助
- 或者,删除对 NuGet 包的引用,并直接包含和引用它们的项目,至少是暂时的;那应该让你直接调试它们。
如果没有别的办法,还有第三个选项:日志记录。
这可能不是您想听到的答案,但根据我的经验,解决此类问题的最佳方法可能是添加一些可以根据需要配置为启用或禁用的日志记录。
很多错误往往是由缺失值、缺失引用或其他一些错误配置引起的。一旦找到它们,修复它们可能很容易,但是在像这样的接口后面实现 "hidden",找到它们可能很困难。
找到一些方法将 input-values 暴露给您的逻辑,无论是通过登录数据库还是仅将 plain-text 日志写入文件,我敢打赌您会在下一个错误出现时为自己节省一些时间,如果不是之前的话。
...请记住在进入生产模式时禁用日志记录,尤其是在记录的数据可能包含任何敏感信息的情况下。