1

如果我使用aspnet_compiler发布一个 ASP.NET MVC 网站,它会执行与devenv相同的任务吗?还是只是预编译以最大程度地减少启动延迟?

IE 我的要求是能够编译和发布一个 ASP.NET 网站。在这种情况下,我是否应该先使用 devenv 构建网站,然后使用 aspnet_compiler 预编译和复制文件(发布)?

或者,如果我只使用 aspnet_compiler,那是否也会构建(编译)源和引用项目以关联 dll?

非常感谢您的回复。非常感谢。

4

2 回答 2

1

让我们从简短的回答开始 -aspnet_compiler.exeASP.NET MVC.

MVC 项目是由devenv.exemsbuild.exe其他任何东西编译的(Roslyn 有人吗?)。但是那些 2 提供了 VS 安装。

aspnet_compiler[在编译意义上] 用于编译 WSP - 网站项目。在 WSP 中,后面的每个代码都被编译成单独的 DLL。但是 MVC 项目编译成单个 DLL,如 WAP - Web 应用程序项目。

我怀疑你有 WSP 和 MVC,即使你有 - 仍然,它更好地编译使用devenv,因为 devenv 编译ashx文件而 aspnet_compiler 没有。这可能会导致运行时失败。

为了更好地理解问题,研究

网站项目与 Web 应用程序项目

虽然,我相信 VS15 WSP 不见了

于 2016-08-03T17:49:19.043 回答
0

我不知道是否有 aspnet_compiler 这样的东西。查看“Visual C# -> ASP.NET Web 应用程序”项目文件的一部分:

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.\WebApplications\Microsoft.WebApplication.targets" />

第一行是标准 C# 目标。其次,更有趣,因为它是 ASP.NET 特定的。如果您查看它的内容,您会发现Publish目标的定义,这可能就是您要查找的内容。

对于构建和发布您的项目,您可以使用(如果有预定义的依赖项,甚至只是发布,我没有检查它)

msbuild /t:Build,Publish <project file>
于 2010-11-15T11:41:00.107 回答