如果我使用 aspnet_compiler 发布ASP.NET MVC网站,它是否会执行与 devenv 相同的任务?或者它只是预先编译以最小化启动延迟?
即。 我的要求是能够编译和发布ASP.NET网站。 在这种情况下,我应该先使用devenv来构建网站,然后使用aspnet_compiler预编译并复制文件(发布)吗?
或者,如果我只是使用aspnet_compiler,那么也可以构建(编译)源代码和引用项目来关联dll吗?
我们非常感谢您的回复。 非常感谢。
答案 0 :(得分:1)
让我们从简短回答开始 - aspnet_compiler.exe
与ASP.NET MVC
无关。
MVC项目是由devenv.exe
或msbuild.exe
或其他任何东西编译的(Roslyn是谁?)。但是那些2提供了VS安装。
aspnet_compiler
来编译WSP - 网站项目。在WSP中,后面的每个代码都被编译成单独的DLL。但MVC项目编译成单个DLL,如WAP - Web应用程序项目。
我怀疑你有WSP和MVC,即使你有一个 - 仍然,最好使用devenv
编译,因为devenv编译ashx
文件而aspnet_compiler没有。这可能会导致运行时失败。
了解问题更好的研究
网站项目与网络应用程序项目
虽然,我相信VS15 WSP已经不见了
答案 1 :(得分: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 specyfic更有趣。如果您查看其内容,您会找到发布目标的定义,这可能就是您要找的内容。
为了构建和发布你可以使用的项目(如果有预定义的依赖项,我甚至只发布,我还没有检查)
msbuild /t:Build,Publish <project file>