Visual Studio 2013只生成HTML更改,而不生成C#更改
本文关键字:更改 HTML Studio 2013只 Visual | 更新日期: 2023-09-27 17:50:52
我正在使用asp构建一个个人网站。NET的网络表单在visualstudio2013express for web和我下面的教程:
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文件的作用以及为什么没有重建它吗?
在visualstudio的属性窗口中检查您的.cs文件属性,以确保其"构建操作"设置为"编译",未设置为"汇编"的内容不会被编译。MSBuild如何处理项目项完全取决于它们的生成操作。当你制作CS文件时,它们默认为"编译",但如果你自己更改了它们,这就是为什么它不会更新的原因。此外,放置在App_Start文件夹中的CS文件默认为"内容",并且在应用程序启动时由ASP.Net编译,因此,如果您更改了App_Start中的某些内容,则需要重置网站。
不太确定问题出在哪里,但我会在solution Explorer->Clean solution中用鼠标右键单击解决方案,然后进行另一次构建,看看这是否有帮助。