【问题标题】:Visual Studio 2013 only builds HTML changes, not C# changesVisual Studio 2013 仅构建 HTML 更改,而不是 C# 更改
【发布时间】:2015-08-10 02:41:20
【问题描述】:

我正在 Visual Studio 2013 Express for web 中使用 asp.NET 的 webforms 构建个人网站,并且正在关注本教程:

http://www.asp.net/web-forms/overview/getting-started/getting-started-with-aspnet-45-web-forms/introduction-and-overview

我的页面结构与网站中的完全相同,我更改了一些小东西以使其成为我自己的,但 C# 类的结构以及与 HTML 交互的方式完全相同。

我进入教程“显示数据项和详细信息”的第 5 节,一切正常。我过去经常使用 git,所以我决定为这个项目创建一个存储库,以便我可以在工作时访问它。

现在,当我对 C# 类进行更改时,它不会构建。它甚至更奇怪,因为如果我对 HTML 文件进行更改,就会构建更改。在本教程的第 3 节中,我们学习了如何制作显示在产品页面上的“产品”类。例如,如果我想更改其中一个产品名称,则在构建时更改不存在。同时,我去更改了联系页面的 HTML 中的一些信息,当我构建时它会发生变化。为什么当我再构建时 C# 更改不会生效?

我对 asp.NET 和 Visual Studio 都比较陌生。当我构建时,HTML 会发生变化,而 C# 不会。当我进行更改时,我可以在解决方案资源管理器中看到未决更改有一个红色勾号。为什么只有 HTML 待定更改包含在构建中而不包含 C#?如何确保构建实际上是在构建我在编辑器窗口中看到的版本?

编辑

我不知道我是否找到了最初的原因,但我找到了解决方案/解决方法。我意识到上面提到的类是由页面数据库中的 html 页面抓取的。每当我清理和构建时,解决方案的 .mdf 文件都没有被重建,所以我物理地删除了它并重建了解决方案,瞧,我的 C# 更改发生了。我对这整个事情还是很陌生,有人能解释一下 .mdf 文件的作用以及为什么它没有被重建吗?

【问题讨论】:

  • “不会构建”是什么意思?会发生什么?
  • 如果您刚刚开始,请远离网络表单并学习 MVC。范式略有不同,但webforms are going away 很快。
  • 在构建之前尝试删除 bin 和 obj 文件夹?

标签: c# html asp.net git visual-studio


【解决方案1】:

不完全确定是什么问题,但我会在解决方案资源管理器中右键单击解决方案 -> 清洁解决方案,然后进行另一个构建,看看是否有帮助。

【讨论】:

    【解决方案2】:

    在 Visual Studio 的属性窗口中检查您的 .cs 文件属性,以确保它们的构建操作设置为“编译”,未设置为“编译”的内容不会被编译。 MSBuild 如何处理项目项完全取决于它们的构建操作。 CS 文件在您制作时默认为“编译”,但如果您自己更改它们,这就是它不更新的原因。此外,放置在 App_Start 文件夹中的 CS 文件默认为“Content”,它们在应用程序启动时由 ASP.Net 编译,因此如果您在 App_Start 中更改了某些内容,则需要重置站点。

    【讨论】:

    • 这是个好建议,但它们都设置为“编译”。我找到了我在编辑中描述的解决方案/解决方法。你知道它为什么起作用@Ryios 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多