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.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 已经不存在了
【讨论】:
【参考方案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的主要内容,如果未能解决你的问题,请参考以下文章
未解决在“产品:*”部分中对符号“属性:VS2019DEVENV”的引用