【问题标题】:Visual Studio command-line build pauses with warning message boxVisual Studio 命令行构建暂停并出现警告消息框
【发布时间】:2017-05-02 23:41:52
【问题描述】:

我们的自动化构建流程如下:

  • 构建脚本将最新版本的存储库提取到一个干净的目录中

  • 它使用以下命令行命令运行构建

devenv SolutionFile.sln /rebuild "ServerDeployment|Any CPU" |输出文件 -FilePath $BuildOutputFile

我希望它在无人值守的情况下运行。

但随后构建暂停以显示模式对话框:

将 IIS Express 设置应用于项目“CMS.Website”的服务器 URL“http://localhost:60143/”时出错。您可能必须手动编辑 applicationHost.config 文件并进行更改才能使您的站点正常运行。

我必须按 OK 才能继续构建。这不再是一个有效的无人值守构建。

我看到 Visual Studio 已经在我的 build 文件夹中自动生成了一个文件 .vs\applicationhost.config

我将此文件与我的开发文件夹中的文件.vs\applicationhost.config 进行了比较。我可以看到我的开发文件夹中的文件版本(不会导致错误)在节点下有一个额外的site条目://configuration/system.applicationHost/sites

我怎样才能让这个消息框消失?显然我不在乎这是否在 IIS Express 上运行,因为我正在执行构建以部署在不同的服务器上。

可能的解决方案(我不是特别喜欢)是:

  • 将 .vs\applicationhost.config 文件检入到存储库中,以便将其作为构建的一部分检出,而不是重新生成
  • 修改我的构建脚本,使其从 C:\Program Files\IIS Express\config\templates\PersonalWebServer\applicationhost.config 复制模板文件,然后修改此 XML 文件以手动添加新的 site 条目

我的问题有更好的解决方案吗?

【问题讨论】:

    标签: asp.net visual-studio iis-express visual-studio-2017


    【解决方案1】:

    在我的例子中,调试设置存储为 Web 应用程序的 .csproj 文件(它是签入存储库的一部分)的一部分。

    它应该作为.csproj.user 文件的一部分存储(不会被签入)。

    在我的项目设置中,我需要确保未选中“将服务器设置应用于所有用户(存储在项目文件中)”。

    一旦我取消选中此设置,自动构建就会从头到尾运行,而不会显示模式消息框。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-21
      • 1970-01-01
      • 2020-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多