【问题标题】:Dotnet watch with debug Visual Studio Code带有调试 Visual Studio 代码的 Dotnet 监视
【发布时间】:2017-11-29 19:53:01
【问题描述】:

现在我的 PC 非常慢,Visual Studio 的工作非常糟糕,所以我决定尝试使用 Visual Studio Code 来创建我的 ASP.NET Core 应用程序。在 Microsoft 的一个演示文稿中,我看到使用名为 dotnet watch 的工具运行 ASP.NET Core 应用程序。此工具在一些软更改后重新编译代码(如在 Visual Studio 中)。

所以我的问题是:

  1. 有没有办法在 Visual Studio Code 中重新编译代码 在调试模式稍作更改后?
  2. 有没有办法让任务只重新编译一个项目?我的整个解决方案有很多项目,每次都编译这个真是个坏主意。

在我尝试使用 dotnet watch 调试应用程序后,dotnet 环境崩溃:(

感谢您的帮助:)

【问题讨论】:

  • 你接受的答案不正确,看我的答案here
  • 当我对代码进行更改时,您的解决方案不会让我继续调试。我想要在 Windows 上的 Visual Studio 中遇到同样的情况,Visual Studio 可以即时重新编译我的代码,并允许我在断点命中时继续执行。
  • 哦,我的错,我以为断点会起作用。

标签: c# .net debugging visual-studio-code .net-core


【解决方案1】:

VS 代码: Visual Studio Code 调试器不支持“编辑并继续”功能。已请求此功能(请参阅 https://github.com/OmniSharp/omnisharp-vscode/issues/490),但是目前没有计划在 VS Code 中实现此功能。

dotnet-watch:如果您想限制 dotnet-watch 监视的文件,则可以在 *.csproj 文件中更改 ProjectReference

<ProjectReference Include="..\Other\other.csproj" Watch="false" />

这将确保 dotnet-watch 仅重新触发对 当前 项目中文件的构建,而不是它引用的项目中的文件。

但是,它不会阻止 MSBuild 在生成新版本时重新编译 ProjectReferences。 MSBuild 将始终尝试重新编译所有ProjectReferences,但是,如果您没有更改文件,重新编译应该很快。 MSBuild 使用缓存来避免重新调用 C# 编译器,除非必要。

有关在 *.csproj 文件中配置 dotnet-watch 的更多详细信息,请参阅 https://github.com/aspnet/DotNetTools/tree/rel/2.0.0-preview2/src/Microsoft.DotNet.Watcher.Tools#msbuild

【讨论】:

  • 你的回答告诉我,现在在 vsc 中用 C# 编写代码真的很难——在调试时重新编译是一个非常好的功能,这使得在调试时重写代码非常快。悲伤的消息
猜你喜欢
  • 1970-01-01
  • 2022-10-16
  • 1970-01-01
  • 2015-08-04
  • 1970-01-01
  • 2010-10-07
  • 2019-08-20
  • 2017-09-27
  • 1970-01-01
相关资源
最近更新 更多