Asp.net mvc 发布我的ASP.NET MVC项目不会';不要发布所有必要的文件

Asp.net mvc 发布我的ASP.NET MVC项目不会';不要发布所有必要的文件,asp.net-mvc,visual-studio-2010,Asp.net Mvc,Visual Studio 2010,我正在使用发布向导,它发布了除我的Controllers文件夹之外的所有必要文件。我假设我需要一个控制器 我已经导航到打包/发布Web设置,我需要在这里调整任何内容吗?我猜这不是现成的。如果我将下拉列表更改为“发布此文件夹/解决方案中的所有文件”,它是否会尝试上载所有不需要复制到服务器的引用dll?在ASP.NET web项目中,包括MVC项目,.cs文件(本例中为控制器)在生成或发布时编译到/bin/[your.project].dll程序集中 因此,您不需要发布/复制.cs文件。在ASP.N

我正在使用发布向导,它发布了除我的
Controllers
文件夹之外的所有必要文件。我假设我需要一个控制器


我已经导航到打包/发布Web设置,我需要在这里调整任何内容吗?我猜这不是现成的。如果我将下拉列表更改为“发布此文件夹/解决方案中的所有文件”,它是否会尝试上载所有不需要复制到服务器的引用dll?

在ASP.NET web项目中,包括MVC项目,.cs文件(本例中为控制器)在生成或发布时编译到/bin/[your.project].dll程序集中


因此,您不需要发布/复制.cs文件。

在ASP.NET web项目(包括MVC项目)中,生成或发布时,.cs文件(本例中的控制器)将编译到/bin/[your.project].dll程序集中



因此,您不需要发布/复制.cs文件。

控制器和模型代码被编译到网站dll中。视图部署在它们的文件夹中。

控制器和模型代码被编译到网站dll中。视图部署在它们的文件夹中。

您的控制器应该编译成一个程序集,然后复制过来。您实际上不应该在服务器上拥有源文件?@Mike Geise,这样就不会复制models和controllers文件夹了?是否有理由包括控制器文件,因为它已经存在于程序集中,并且不需要复制it@Nick,当您构建项目时,它会编译源文件(控制器、模型)输入到具有项目名称的程序集中。这些是应该与视图文件和静态内容一起复制的程序集。@Mike Geise,这更有意义,但是我仍然想知道为什么MVC会将.cs文件编译成dll,而ASP.NET不会。您的控制器应该编译成一个程序集,然后再复制过来。您实际上不应该在服务器上拥有源文件?@Mike Geise,这样就不会复制models和controllers文件夹了?是否有理由包括控制器文件,因为它已经存在于程序集中,并且不需要复制it@Nick,当您构建项目时,它会编译源文件(控制器、模型)输入到具有项目名称的程序集中。这些是应该与视图文件和静态内容一起复制的程序集。@Mike Geise,这更有意义,但是我仍然想知道为什么MVC将.cs文件编译成dll,而ASP.NET没有。这很有趣。这样做的原因是什么?是这样web服务器就不必编译它了吗?@Nick,你不应该(也不应该)在ASP.NET Webforms上这样做。出于安全和性能方面的原因,cs文件不应该复制到服务器上。@nEEbz,我很惊讶,当我最初开始学习webforms-yikes时,我从未读到任何地方,我必须回去编译这些文件。这非常有趣。这样做的原因是什么?是这样web服务器就不必编译它了吗?@Nick,你不应该(也不应该)在ASP.NET Webforms上这样做。出于安全和性能方面的原因,cs文件不应该复制到服务器上。@nEEbz,我很惊讶,当我最初开始学习webforms-yikes时,我从未读到任何地方,我必须返回并编译这些文件。这是在ASP.NET中完成的(如果您执行文件->新建项目并选择web)。不适用于ASP.NET网站。ASP.NET网站选项更符合您的想法,您可以将所有.cs、.aspx、任何内容复制到服务器,并在运行时对其进行编译。ASP.NET web项目和mvc项目是预编译的(除了标记,因为标记总是在运行时编译)。它是在ASP.NET中完成的(如果您执行文件->新建项目并选择web)。不适用于ASP.NET网站。ASP.NET网站选项更符合您的想法,您可以将所有.cs、.aspx、任何内容复制到服务器,并在运行时对其进行编译。ASP.NET web项目和mvc项目是预编译的(除了标记,因为标记总是在运行时编译)。