为什么调试器不会更新?

时间:2010-05-17 16:42:18

标签: c# .net forms debugging visual-studio-express

我多次遇到这个问题并且它破坏了我的项目,我做了一些更改,比如说我在表单的左上角有一个按钮并将其移动到右上角,然后我按下调试但没有任何反应到形式,它没有改变按钮仍然在左上角而不是右上角,它也没有除了任何新代码,它就像它保存项目那样,不会移动上。有没有人知道为什么或之前遇到过这个问题?

请,帮助!!!!

其他细节: 编译器:Microsoft Visual C#2008 Express Edition 我曾经通过重建解决方案解决了这个问题,但它再也没有用过。

4 个答案:

答案 0 :(得分:1)

嘿,我修复了它,我右键单击解决方案资源管理器中的Form1,单击属性并将Build Action更改为none,然后返回Compile,它似乎正在工作。

答案 1 :(得分:0)

在项目和解决方案下的Visual Studio设置 - >构建和运行时,在项目过期时更改选项On Run:从从不构建到始终构建

工具>选项>项目和解决方案>构建并运行>在运行时,当项目过期时:“始终构建”

答案 2 :(得分:0)

除了我同意的@ SwDevMan81的回答之外,我会说设置输出和引用路径可能有助于避免类库的这种行为。例如,您的应用程序引用了您当前正在编写的类库,并对此引用的库执行了一些更改,但更改未显示。

编译器将会复制localy(到项目的输出目录)所引用的DLL,只要它在那里,它就不会被更新。您可以通过单击引用的程序集上的右侧,然后单击“属性”来验证它。查看Filepath属性。如果您发现它与您的实际文件路径不匹配,那么您必须确保在项目属性中相应地设置引用路径,然后删除然后删除实际引用以将其添加到实际构建所在的位置,即您的类库输出文件夹已设置。因此,无论何时重新生成类库,应用程序都会自动获取更新。这是一个例子:

应用程序项目引用ClassLibrary1.dll程序集。

  

生成应用程序后,ClassLibrary1.dll文件将被复制到应用程序输出目录中。我们假设 C:\Open\Projects\ApplicationProject1\Debug\bin 。因此,此目录现在将包含 ClassLibrary1.dll 文件。

  1. 您重写一种方法,以完全不同的方式行事;
  2. 您重新生成ClassLibrary1程序集;
  3. 您重新运行您的应用程序(请记住该文件已存在!);
  4. 最后想知道为什么这些改变没有生效?这是因为您的应用程序在其Debug\bin文件夹中引用了缓存的程序集。
  5. 解决方法:

    1. 从应用程序项目中删除程序集引用;
    2. 转到项目的属性,然后单击参考路径选项卡;
    3. 浏览到ClassLibrary1输出文件夹,然后打开它;
    4. 现在为此库设置了“引用路径”属性,然后将ClassLibrary1程序集重新添加到应用程序项目中;
    5. 运行一次,停止运行,并查看引用的程序集的Path属性是否仍然与项目的Reference Path属性中的相同;
    6. 你已经完成了(如果一切正常)。 C:\打开\项目\ ClassLibrary1的\调试\ BIN \ ClassLibrary1.dll
    7. 最后,如果您的GUI表单是类库的一部分,这可能是您的问题的原因,并且我描述的解决方案应该可以工作。

答案 3 :(得分:0)

SwDevMan81和Tanner的答案对我不起作用。

然而,

构建>重建解决方案

......做到了!