1

我正在开发一个使用 NAnt 自动构建的项目。自动构建包括清理机器的 NAnt 任务,包括删除和重新创建虚拟目录、清除 VSWebCache 等。一旦机器被重置,它会尝试使用以下命令编译站点:

<exec program="${visualstudio.install.dir}\devenv.com" commandline="SolutionFile.sln" failonerror="true"/>

问题是此时自动构建锁定。

如果我以交互方式打开 .sln 文件,首先发生的事情是 Visual Studio 会用一个对话框提示我。我怀疑当我运行 NAnt 脚本时这个对话框正在“打开”(不可见),我无法单击它继续。

对话框消息是:

Microsoft Visual Studio

The web (URL) is currently configured for use with ASP.NET 1.1.  Web project (name) is targeting ASP.NET 4.0; if not configured some features may make incorrect assumptions, and pages designed with the tool may not render correctly.

Would you like the site to be configured for use with ASP.NET 4.0?

事实上,我的机器上有 3 个不同版本的 .NET——我从事多个项目。我无法提前配置站点,因为构建脚本无论如何都会破坏我的配置。我想我需要的是一种自动接受对话框的方式(就像我单击了“是”按钮一样),或者是一个 NAnt 任务,它将自动将 vdir 设置为 ASP.NET 4.0 应用程序。

我确实可以随意修改构建脚本,但我不能简单地删除重置机器的部分——我们的构建框与其他项目共享,我们必须在运行我们的之前将所有内容重置为已知的良好状态编译。

4

1 回答 1

0

直接使用MSBUILD,不要使用devenv。它是完整的 IDE,您只需要构建即可。

于 2013-04-17T20:26:29.127 回答