F# 断点仅在抛出异常后才起作用
F# Breakpoints only work after a an exception is thrown
我尝试使用 F#、.Net-Core 3、Ionide 和 Visual Studio 代码创建一个 ASP.Net 网站,但是,当我尝试在 F# 文件中设置断点时它没有不要被击中。
但是当我把一个
assert false
在我的断点前,我得到了异常,然后断点就被击中了。
我也在 Visual Studio 中尝试过相同的断言正确中断的地方,但是当继续时,它没有到达断点,即使 VS Code 做到了。
在 VS Code 中,这不起作用:
let x = 4 // <- Breakpoint
但这确实:
assert false
let x = 4 // <- Breakpoint
无论是否添加断言,启动时我都会收到此警告。
Breakpoint warning: No executable code of the debugger’s target code type is associated with this line.
Possible causes include: conditional compilation, compiler optimizations, or the target architecture of this line is not supported by the current debugger code type.
可能是什么原因,我该如何解决?
最后,问题是我有复杂的项目间依赖关系。
- ASP.Net 项目 (F#)
- 迁移和 DbContext 项目 (C#)
- 单元测试项目(F#)
- DbContext ASP.Net 共享对象项目 (F#)
我通过保留迁移项目但将 DbContext 移动到 ASP.Net 项目中解决了这个问题。因此,我没有从迁移到 ASP.Net 项目的引用,而是将其更改为相反的方式。这也允许我将共享对象移动到 ASP.Net 项目并删除共享对象项目。
所以这是后来的样子
- ASP.Net 和 DbContext 项目 (F#)
- 迁移项目 (C#)
- 单元测试项目(F#)
虽然我不是为了解决这个问题而做的,但它作为副作用解决了它。
我希望这对遇到相同或类似问题的其他人有所帮助。
我尝试使用 F#、.Net-Core 3、Ionide 和 Visual Studio 代码创建一个 ASP.Net 网站,但是,当我尝试在 F# 文件中设置断点时它没有不要被击中。
但是当我把一个
assert false
在我的断点前,我得到了异常,然后断点就被击中了。
我也在 Visual Studio 中尝试过相同的断言正确中断的地方,但是当继续时,它没有到达断点,即使 VS Code 做到了。
在 VS Code 中,这不起作用:
let x = 4 // <- Breakpoint
但这确实:
assert false
let x = 4 // <- Breakpoint
无论是否添加断言,启动时我都会收到此警告。
Breakpoint warning: No executable code of the debugger’s target code type is associated with this line.
Possible causes include: conditional compilation, compiler optimizations, or the target architecture of this line is not supported by the current debugger code type.
可能是什么原因,我该如何解决?
最后,问题是我有复杂的项目间依赖关系。
- ASP.Net 项目 (F#)
- 迁移和 DbContext 项目 (C#)
- 单元测试项目(F#)
- DbContext ASP.Net 共享对象项目 (F#)
我通过保留迁移项目但将 DbContext 移动到 ASP.Net 项目中解决了这个问题。因此,我没有从迁移到 ASP.Net 项目的引用,而是将其更改为相反的方式。这也允许我将共享对象移动到 ASP.Net 项目并删除共享对象项目。 所以这是后来的样子
- ASP.Net 和 DbContext 项目 (F#)
- 迁移项目 (C#)
- 单元测试项目(F#)
虽然我不是为了解决这个问题而做的,但它作为副作用解决了它。 我希望这对遇到相同或类似问题的其他人有所帮助。