使用 vs 2013 命令提示符不会发生使用 nant 脚本的 Web 应用程序部署

Web Application deployment using nant scripts not happening using vs 2013 command prompt

我之前将 VS2005 用于两个 Web 应用程序,并使用 vs2005 cmd 提示符部署应用程序。但我最近迁移到 VS2013,当我使用 vs2013 cmd 提示符执行相同的 nant 脚本命令时,它们无法正常工作。我在失败时收到以下错误消息

外部程序失败:aspnet_compiler.exe(return 代码为 1)

有人可以帮我解决这个问题吗?一个应用程序显示成功,但当我使用 url 打开应用程序时,它显示找不到页面。

aspnet_compiler 将编译所有视图(*.aspx、*.ascx、*.cshtml 等)。它大致类似于 运行 连接每个页面并验证它是否正确呈现。这是验证所有页面都没有难以发现的 运行 次错误的好方法。由于 aspnet_compiler 运行,问题不在于它不在路径中。可能是它使用的是 VS 2005 的 aspnet_compiler 或来自不同的框架版本,但这种可能性较小。更有可能的是您在页面或用户控件中有语法错误。查看 "return code was 1" 消息周围的构建输出,找到有关失败页面和行的其他详细信息。

另一个不推荐的选项是从你的 nant 文件中注释掉 aspnet_compiler 行,但是你会失去这个预编译/验证的所有好处。

我终于解决了它是版本控制的问题。 VS2005 dev cmd 提示默认从 v2.0.50727 选择 aspnet_compiler 但是 VS2013 dev cmd 提示默认从 v4.0 选择。所以我换了 program="aspnet_compiler.exe" 和 program="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler.exe" 它解决了我的问题。

谢谢大家