【问题标题】:TFS build does not have the same output as file system web publishTFS 构建与文件系统 Web 发布的输出不同
【发布时间】:2014-08-25 20:13:47
【问题描述】:

我通常会在我的 asp web 应用程序上发布文件系统,然后再将它们部署到我自己的 web 服务器的 web 根目录上,visual studio 将我的 aspx 页面与我的 api 和库很好地打包到 DLL 中。

我想知道如何使用 Team Build 实现相同的效果。到目前为止,我能够使用默认模板运行构建定义,并且我得到的输出只是二进制 DLL,根本没有生成任何 aspx 页面

http://postimg.org/image/occoo03zh/

但是我在 Team Build 中只获得了没有网页的 DLL

http://postimg.org/image/mat7co6vp/

我曾尝试传递各种 MSBuild 参数,希望它会改变输出,但到目前为止还没有运气。有人知道我可以解决这个问题的确切原因和方法吗? TFS 构建的这个输出正常吗?

尚未解决,非常感谢任何见解。

【问题讨论】:

    标签: asp.net tfs tfsbuild


    【解决方案1】:

    asp页面没有被编译,你编译的dll会被输出到binaries目录,但是你的asp页面会留在sources目录中。您将需要添加一个构建后活动来将您的 asp 结构复制到放置文件夹中。

    您能否通过查看构建工作区(在构建服务器上)并查看源目录中的结构是否正确以及是否在 bin 文件夹中创建了 dll 来确认这一点。如果是这样,您可以复制整个结构。

    【讨论】:

    • 感谢您的回复。我链接的 2 个图像包括我想要的输出,它封装了 bin 中的 aspx 页面和 dll,以及我从 TFS 构建获得的当前输出,它只是 dll。
    【解决方案2】:

    您需要向 MSbuild 传递一些参数以使其生成已发布的网站,就像您在文件系统发布中看到的那样。请参阅 here 了解使用 Visual Studio Online 完成的类似操作。

    /p:OutDir=$(build.stagingDirectory) /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-15
      • 2019-10-29
      • 2019-08-20
      • 1970-01-01
      • 1970-01-01
      • 2018-07-04
      相关资源
      最近更新 更多