C# - Visual Studio项目构建

时间:2011-04-19 17:47:44

标签: c# visual-studio-2010

我有以下问题。

我在C#中创建了一个应用程序(使用Visual Studio 2010)。一切都很好。

然后我不得不在“main.cs”中进行一些更改。那些......再次没事了。

然后我不得不在同一个文件中进行其他更改。那些......清理了构建它的解决方案。问题是,当我运行/ debug /任何应用程序时,我得到的结果与我进行更改之前的结果相同。我甚至试图打破代码(称为不存在的随机函数,使用错误的语法),但结果是相同的“构建成功”和旧版本。

是否存在某种缓存机制?我如何摆脱这个问题?

我为“编译”解决方案添加了打印件......我找不到构建属性。

Enter image description here

Enter image description here

3 个答案:

答案 0 :(得分:4)

尝试删除Visual Studio项目目录中的binobj目录。 obj目录包含用于创建二进制文件的临时文件,而bin目录包含该项目的二进制文件。此外,检查构建解决方案时是否显示任何警告。


我能够重现相同的错误,即即使文件尚未编译也能成功构建。该文件的Build Action尚未设置为Compile

Build Action not set to Compile

代码文件(main.cs)的正确Build ActionCompile

Correct build action


根据更新的问题,文件属性没有编译选项

原因是文件(main.cs)尚未包含在项目中,但Solution Explorer中的“显示所有文件”按钮处于“打开”状态。该文件尚未包含在项目中(因此未编译),文件图标在解决方案资源管理器中显示为灰色。

要在项目中包含此文件,请右键单击项目的add existing item(参见下图)。在随后的对话框中选择文件(main.cs)并单击添加按钮。

Add existing item

这可以解决您的问题。

将来,最好将“显示所有文件”按钮保持为“关闭”以避免混淆。

答案 1 :(得分:2)

您是否可以选择构建并运行上一个成功的版本?查看我对类似here的回答。如果您所做的更改破坏了某些内容并且您已经检查了这些框并在下面的答案中对话框中单击“是”,那么这很可能就是问题。

Cannot see changes I make when I run my application in Visual Studio

答案 2 :(得分:1)

备份您的解决方案。

从解决方案资源管理器中删除.cs文件。如果您的程序编译并运行,那么您将链接到源文件夹而不是实际使用解决方案中的文件夹。

我怀疑是这样,但值得一试。您想到的其他事情已经消除了以前的答案。