【问题标题】:Visual Studio 2012 Debugging Old CodeVisual Studio 2012 调试旧代码
【发布时间】:2013-06-05 16:45:34
【问题描述】:

我有一个包含 ~7 个 C# 库项目和一个控制台应用程序的解决方案。最近,当我对任何项目中的源文件进行更改并按 F5 运行时,它似乎像往常一样构建和运行,但正在运行的可执行文件并未反映我的最新更改。

如果我清理并重建解决方案,每次它都能正常工作。此问题是此解决方案的本地问题,并且已在多台机器上复制。我的构建配置包括调试模式下的所有项目,我尝试添加/删除项目以查看是否会触发依赖项重建。

关于如何恢复 F5 功能的任何想法?

【问题讨论】:

  • 您的控制台应用程序是否明确引用了这 7 个库?显式 - 来自Project > References > Add reference 的含义?
  • 是的 - 控制台直接引用库。

标签: visual-studio-2012 visual-studio-debugging


【解决方案1】:

我认为控制台应用程序直接引用了库的输出 dll。相反,您应该使用Project Reference 这将解决您的问题。

【讨论】:

    【解决方案2】:

    试试这个简单的修复方法,或许可以解决您的问题。 Configurations Manager projects unchecked

    这对我有用。我之前打开过配置管理器,必须取消选中构建选项。

    【讨论】:

      【解决方案3】:

      在我们的案例中,我们有 2 个解决方案:

      (1) 临时的,删除本地解决方案文件夹并从 SVN 重新获取代码,这样您就可以在编译后真正获得新鲜的二进制文件(直到我们找到真正的问题)

      (2) 存在永久的、真正的问题,因为调用顺序错误,例如:

      IUnityContainer.Resolve() 或

      IUnityContainer.Resolve() 由于类型的顺序非常重要,即使没有显示编译或运行时错误

      【讨论】:

        猜你喜欢
        • 2013-05-01
        • 2013-02-17
        • 1970-01-01
        • 1970-01-01
        • 2013-12-19
        • 2015-08-04
        • 2013-09-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多