【问题标题】:WebDeployment is notWeb部署不是
【发布时间】:2017-07-22 15:15:34
【问题描述】:

我正在尝试使用 TFS 2017 持续部署部署在 VB 上使用 .NET Framework 2.0 创建的 Web 应用程序。它没有像 vbproj 或 csproj 这样的解决方案文件,所以我需要避免所有建议来包含有关 vbproj 的额外信息。为了甚至在本地运行 MSBuild,我需要在我的 .sln 中更改这个 标记,所以我所有的编译代码也在那里

Debug.AspNetCompiler.TargetPath = "....\PrecompiledWeb\ARB\Debug\"

很遗憾,我无法使用 TFS 部署应用程序。到目前为止,我尝试通过我的 Visual Studio 项目部署它,并且每个选项都可以正常工作:我尝试了 MSDeploy、Web Deploy Package 和 FileSystem,并且在 Visual Studio 发布选项中工作正常

这样,就连我的变身也发生了。 现在假设我去我的 TFS 并将这个参数放在 MSBuild 上

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsASingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="\\MyServer\Content"

我的文件已编译但从未存储在我的 Content 文件夹中。一个都没有!!!我不知道这里发生了什么。

【问题讨论】:

    标签: visual-studio tfs continuous-integration web-deployment continuous-deployment


    【解决方案1】:

    从您的屏幕截图中,您使用的是网站项目,而不是 Web 应用程序项目。 TFS 中的网站项目的输出结构与 VS 中的构建不同(您可以在构建代理服务器上的构建源目录中看到 PrecompiledWeb 文件夹)。您可以考虑在下面添加任务来复制要发布的文件,而不是使用 MSBuild 参数:

    我们强烈建议您从网站项目切换到 Web 应用程序项目以避免这些问题。

    【讨论】:

    • 嗨@Cece,实际上这是我现在的解决方法,我正在复制文件。但是当您添加复制文件任务时,它会将您拥有的所有文件复制到服务器,包括所有 web.config 配置文件(所有内容)。使用 Visual Studio,我什至可以创建一个要部署的 zip 包,为什么我不能用 tfs 做到这一点,我在这里遗漏了一些东西,因为我将相同的参数放入我在 xml 配置文件中看到的 MSBuild 中我要发布
    • 使用复制文件任务时,您可以指定要应用于要复制的文件列表的匹配模式过滤器(每行一个),这样您就不需要复制所有文件。建议从网站项目迁移到网络应用项目,以获得更好的体验。
    猜你喜欢
    • 1970-01-01
    • 2010-09-13
    • 2015-10-03
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    • 2019-01-22
    相关资源
    最近更新 更多