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

Visual studio 错误:您正在调试X.dll的发布版本 背景,visual-studio,debugging,visual-studio-2015,release,visual-studio-debugging,Visual Studio,Debugging,Visual Studio 2015,Release,Visual Studio Debugging,我有一个ASP.NET MVC应用程序项目,以及Visual Studio解决方案中的各种其他项目。不同的项目使用不同版本的NPoco库,如下所示: MVC项目包括一个通过NuGet的NPoco版本 其他一些项目通过对DLL的引用(而不是通过NuGet提供的DLL)包含NPoco的(可能不同)版本 其中一个项目是NPoco版本的源代码,并进行了一些修改 我正在使用Visual Studio 2015更新3 14.0.25422.01 错误 出于某种原因,当我在调试器中使用Visual Stu

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

  • MVC项目包括一个通过NuGet的NPoco版本
  • 其他一些项目通过对DLL的引用(而不是通过NuGet提供的DLL)包含NPoco的(可能不同)版本
  • 其中一个项目是NPoco版本的源代码,并进行了一些修改
我正在使用Visual Studio 2015更新3 14.0.25422.01

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

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

这个问题最近才开始出现

问题:
  • 有人知道是什么导致了上述错误吗
  • 我有什么配置错误的吗

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

    在以下时间之前提交的connect报告:

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


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


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

    刚刚出现了一个类似的问题,我可以通过清理解决方案3次并重新构建来修复。希望这对其他人也有帮助。

    如果有人仍然有这个问题,对我来说,这是因为我安装了我试图调试的软件,把GAC弄糊涂了


    fusion logger帮我弄明白了哈

    在我的例子中,我删除了我的项目的
    Webapplication.dll
    ,并删除了发布文件夹中的内容。再次重建项目,它对我有效。

    visual studio项目级别上有“优化代码”选项。在调试模式下删除它。

    这在VS2017中发生在我身上,即使在将配置更改为Build之后也是如此。重新启动VS2017时,问题已得到解决

    右键单击解决方案>属性>配置管理器>活动解决方案配置:新建
    为新的解决方案配置命名。从“调试”复制设置


    我为这个错误做了一切,但这个解决方案奏效了

    在我的例子中,有个狡猾的骗子把这个放到AssemblyInfo.cs文件中:

    [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
    

    注释掉它并开始工作

    此问题的另一个原因是以下“汇编级别”属性:

    [assembly: System.Diagnostics.Debuggable(true, false)]
    
    (我只是偶然发现这一点……当一个人遇到这样的问题时,谁会检查AssemblyInfo.cs……对-没有人)


    编辑:刚刚看到其他人已经添加了这个。。。。。(尽管有其他参数)-还有-此属性的原因也是“从exe反编译”(我们丢失了该特定项目的源代码:-/)

    这是典型的Microsoft错误之一,可能有20个解决方案。对我来说,我重新启动了运行visual studio 2017的服务器,它解决了这个问题。

    我今天第一次遇到这个问题(在visual studio 2017中)。对我来说,这是由我的应用程序的另一个版本造成的,它是在发布模式下构建的,运行在我调试的IIS中的同一个应用程序池下。我为不同版本的应用程序提供了自己的应用程序池,问题消失了。

    这发生在我使用NuGet软件包时

    假设您想调试
    Project1
    中的代码

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


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

    我在Visual Studio 2019中也遇到了类似的问题 以下步骤解决了我的问题
    调试->选项->取消选中仅启用我的代码选项

    将项目移动到新机器后,我遇到了同样的问题


    下载合适的目标框架对我很有用。我的项目使用.Net Framework 4.7.2,下载.Net Framework 4.7.2后错误消失。

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

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

    如果配置处于“Release”状态,则会出现此错误。

    我尝试过。。 清理整个解决方案, 重建整个解决方案, 重新启动Visual Studio。。。 但是没有帮助

    最后,

    我重新启动了我的电脑


    然后启动VisualStudio,清理和重建,然后调试完美无瑕:

    < P>这是我在中午开始随机发生的。

    已尝试清理,已删除所有BIN和OBJ文件夹。。。什么都没用

    我必须停止/启动IIS应用程序