【问题标题】:devenv VS aspnet_compilerdevenv 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 吗?

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

【问题讨论】:

标签: msbuild aspnet-compiler devenv


【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-28
      相关资源
      最近更新 更多