devenv VS aspnet_compiler

Posted

技术标签:

【中文标题】devenv VS aspnet_compiler【英文标题】: 【发布时间】:2010-11-15 11:17:37 【问题描述】:

如果我使用 aspnet_compiler 发布一个 ASP.NET MVC 网站,它会执行与 devenv 相同的任务吗?还是只是为了尽量减少启动延迟而进行预编译?

I.E. 我的要求是能够编译和发布一个 ASP.NET 网站。 这种情况下,我是不是应该先用devenv建站,再用aspnet_compiler预编译复制过来(发布)?

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

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

【问题讨论】:

可能重复:***.com/questions/1369250/… 【参考方案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 没有。这可能会导致运行时失败。

为了更好地理解问题研究

网站项目与网络应用项目

虽然,我相信 VS15 WSP 已经不存在了

【讨论】:

【参考方案2】:

不知道有没有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>

【讨论】:

以上是关于devenv VS aspnet_compiler的主要内容,如果未能解决你的问题,请参考以下文章

VS2015 devenv 构建运行 asnc?

VS2010:如何运行 devenv 以不并行化构建

未解决在“产品:*”部分中对符号“属性:VS2019DEVENV”的引用

使用 VS2017 安装程序项目从命令行运行 vs2017 DevEnv

奇怪的 VS2008 (devenv) Nant 编译问题

使用 VS2010 的 devenv.exe 部署 Web 应用程序