【问题标题】:Class Library Project File not compiling into .dll or debugging类库项目文件未编译成 .dll 或调试
【发布时间】:2021-04-13 20:13:57
【问题描述】:

在我的解决方案中:

  • 我有一个编译成 dll 的类库项目。
  • 我有一个网络项目。

(我有多个解决方案,具有不同的 Web 项目但相同的类库)

类项目中的一个文件 (utilities.cs) - 突然不会编译成 .dll

我已对此文件进行了更改,但更改不会显示在网站上。所以我在 .cs 文件中放置了一个断点,并尝试运行它...断点没有被命中!最终我在调用该函数的 .aspx 文件中放置了一个断点。然后我将调试器踩到了一行,所以它会进入 .cs 文件,但我得到了错误:

“此源文件已更改。它不再与用于构建正在调试的应用程序的文件版本匹配。”

因此,utilities.cs 中的代码没有被更新到 dll 中。这很奇怪,因为我的其他 .cs 文件中的代码正在更新(我尝试更改几行)并且能够捕获调试。

任何想法如何解决这个问题?甚至问题的原因是什么??

【问题讨论】:

    标签: c# dll


    【解决方案1】:

    尝试:
    Solution Explorer 中右键单击 Solution -> Properties -> Configuration Properties -> 确保 Build 复选框已为您的类库选中

    【讨论】:

      【解决方案2】:

      您需要找出 DLL 无法构建的原因:

      • 查看输出窗口是否有任何错误
      • 检查错误窗口

      修复错误并再次尝试构建。

      您尝试调试的 dll 来自您的代码的较旧版本,该版本确实可以编译,并且调试器拾取该代码并尝试针对该代码进行调试 - 因为代码和 dll 不再匹配,所以它在抱怨。

      尝试对解决方案执行构建 -> 清理,然后重新构建以查看错误。

      【讨论】:

      • 就我而言,未编译的项目使用的是稍高版本的 .net。
      【解决方案3】:

      当您添加对 Web 项目的新引用时,您必须选择“项目”选项卡:

      项目列出了从本地项目创建的所有可重用组件。

      1. Add or Remove References in Visual Studio
      2. Add a Reference to a Visual Studio Project in a Web Site

      始终以发布调试模式重新构建所有项目。

      【讨论】:

        【解决方案4】:

        我完全按照@nightcoder 所说的做了,但需要进行简单的更改。转到配置属性(在解决方案资源管理器中右键单击解决方案 -> 属性 -> 配置属性),然后在配置选项中选择“所有配置”。
        这为我创建了 .dll

        【讨论】:

          【解决方案5】:

          这发生在我在一个项目中的分支之间切换后,它们之间存在显着差异,我尝试了网络上的所有解决方案,但没有奏效。

          最后,我不得不删除我的本地项目文件并再次从 GitHub repo 克隆项目,之后当我启动项目时,项目构建工作没有错误,并且生成了 dll。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-04-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-11-11
            相关资源
            最近更新 更多