错误:您正在调试X.dll的发布版本

Sam*_*Sam 24 visual-studio visual-studio-debugging visual-studio-2015

背景

我有一个ASP.NET MVC应用程序项目,以及Visual Studio解决方案中的各种其他项目.不同的项目使用各种版本的NPoco库,如下所示:

  • MVC项目包括通过NuGet的NPoco版本.
  • 其他一些项目包括通过引用DLL(不是通过NuGet提供的DLL)的NPoco(可能是不同的)版本.
  • 其中一个项目是NPoco版本的源代码,并进行了一些更改.

我正在使用Visual Studio 2015 Update 3 14.0.25422.01.

错误

出于某种原因,当我使用Visual Studio中的常规"启动调试"命令在调试器中启动此应用程序时,它会启动,但它也会产生以下警告:

您正在调试NPoco.dll的发布版本. 使用Just My Code和Release构建使用编译器优化会导致调试体验降级(例如,不会遇到断点).

如果我按继续调试,一切似乎仍然照常工作,包括断点.

这个问题最近才开始发生.

  1. 有谁知道导致上述错误的原因?
  2. 我有什么错误的配置吗?

Jac*_*SFT 30

在调试 - >选项 - >抑制模块加载时的JIT优化下禁用此选项(仅限管理).

之前提交的连接报告:

https://connect.microsoft.com/VisualStudio/feedback/details/2116788/flag-optimize-is-passed-to-the-debugger-even-while-the-build-settings-optimize-code-is-not-启用mvc-c-web-projects-when-using-just-my-code.

还请确保所有项目都处于调试模式,优化代码未经检查,如下所示:

VS2015项目不再以调试模式运行

  • 谢谢.模块负载**设置上的**抑制JIT优化被禁用,但是当我启用它时问题停止发生. (21认同)

Sta*_*ord 20

右键单击您的解决方案并选择属性。

然后,转到左侧的“配置属性”并选择其下的“配置”。确保您正在运行的项目的配置位于“调试”而不是“发布”中。

如果配置处于“发布”状态,您将收到此错误。

  • 就是这个,谢谢! (2认同)

tok*_*709 12

刚刚有一个类似的问题我可以通过清理我的解决方案3次并重建来解决.希望这也有助于其他人.


Sne*_*eha 9

我在 Visual Studio 2019 中也遇到了类似的问题,以下步骤解决了我的问题 Debug-> Options->Uncheck Enable Just my code option


Mah*_*ani 7

在Visual Studio项目级别上有“优化代码”选项。删除调试模式。


Len*_*rri 6

这发生在我使用 NuGet 包时。

假设您想从Project1...调试代码

如果Project1在解决方案 (.sln) 中的任何项目中引用了NuGet 包,请确保将其删除。不要添加Project1的 NuGet 包,而是Project1直接添加(.csproj) 作为Project1对解决方案中需要的任何给定项目的引用。通过这种方式,您将能够在调试时单步执行代码,并且 Visual Studio 将不再大喊“发布”版本。

如果Project1来自不同的解决方案 (.sln),您可以右键单击当前的解决方案并选择添加现有项目...Project1例如选择.csproj。然后转到任何需要的项目Project1=> 右键单击​​ => 添加 => 引用并选择Project1.


Trt*_*Boy 5

我发现,当您更新依赖于引用项目(您可能已修改版本)的 Nuget 包时,它会将其替换为 dll 的 Nuget 版本。

要在更新(或添加)nuget 包后解决此问题,您需要删除对 dll(例如 NPoco)的引用,并使用修改后的版本添加对项目的项目引用。