我正在使用 ASP.NET MVC 3 Beta,出于某种奇怪的原因,如果我更改控制器的操作并在浏览器中加载该操作,它不会重新编译程序集以合并所做的更改。也许我被 ASP.NET Webforms 中的情况宠坏了,其中有代码隐藏文件的动态即时编译,但我认为这应该是可能的。
我想知道这是否可能是由于我的项目是如何设置的。我正在使用 VS2010 并为 64 位可执行文件进行编译。
我正在使用 ASP.NET MVC 3 Beta,出于某种奇怪的原因,如果我更改控制器的操作并在浏览器中加载该操作,它不会重新编译程序集以合并所做的更改。也许我被 ASP.NET Webforms 中的情况宠坏了,其中有代码隐藏文件的动态即时编译,但我认为这应该是可能的。
我想知道这是否可能是由于我的项目是如何设置的。我正在使用 VS2010 并为 64 位可执行文件进行编译。
在 ASP.NET WebForms 网站项目中,代码隐藏文件是动态编译的。
在 ASP.NET MVC Web 应用程序中,控制器是预编译的程序集,这就是每次进行更改时都需要构建它们的原因。这类似于在预编译的 ASP.NET WebForms Web 应用程序中的工作方式。
你也没有错过任何东西。如果您想要 .NET MVC,则每次进行更改时都必须进行编译。
对我来说,这要好得多。与大量 C# 源文件相比,部署 .dll 的实用性胜过即时编译的便利性。这样,您也不会意外部署不能以这种方式编译的 C# 代码。
不,这里没有魔法。你将不得不手动编译东西:)