Visual Studio 2022中的即时窗口中的C#调试仅适用于旧的.net框架,但不适用于.Net 5.0

5sxhfpxr  于 2023-05-07  发布在  C#
关注(0)|答案(1)|浏览(358)

我正在使用Visual Studio 2022,构建一个使用.net framework 4.8.x的c# .net类库,但现在我必须将该程序集转换为.NET 6.0。
我在VS上大量使用“即时窗口”,当使用旧的.net 4.8.x框架时,它工作得很好,但是当我切换到另一个使用.NET CORE的重复解决方案时(1.0 ~ 6.0,我试过所有),它弹出错误“具有输出类型或类库的项目无法直接启动”。为了解决这个问题,我必须添加一个虚拟/空的可执行项目,以便能够再次使用即时窗口。Microsoft是否在.NET Core的设计期间更改了即时窗口功能?
非常令人沮丧的是,仅仅为了升级到.NET Core,我现在不得不过度复杂化我们的构建设置,而它在.NET Framework 4.8.x上运行得非常好。有没有人知道一个变通办法,这样我就可以摆脱我必须作为启动项目添加到我们的解决方案中的虚拟可执行项目?现在,每次我使用即时窗口,它增加了相当多的额外时间来构建虚拟项目的空UI,这是非常令人沮丧的,因为我绝对没有使用它。请帮助如果你知道更多关于这个主题的细节。我在谷歌上搜索了这个问题,但很少出现-我看到的是微软说“我们在最新的Visual Studio中修复了它”或“我们无法进一步调查”,等等。但都无济于事

在没有调用应用的情况下调试DLL,请参见“使用即时窗口”下的https://learn.microsoft.com/en-us/visualstudio/debugger/debugging-dll-projects?view=vs-2022

omqzjyyz

omqzjyyz1#

一个好的解决方法是完全切换工具。
LINQPad提供丰富的执行环境,充当调用可执行文件。
它支持您自己的.NET、.NET Core和.NET Framework程序集。
而且--这并不意味着是一种很好的方法--单元测试是一种很好的方法,因为它们提供了超越单一调试场景的持久价值。

相关问题