【发布时间】:2018-11-02 20:05:02
【问题描述】:
注意事项: Visual Studio 2017 解决方案,包含一个 MVC Web 应用程序和几个其他项目,Web 应用程序项目并未引用所有这些项目。到目前为止,我一直在使用 VS 直接发布到测试服务器,但是我已经将东西移到了 VSTS 中,并进行了构建和发布定义设置,但还没有工作。
我想要实现的是让我的(托管)VSTS 构建代理生成已发布的文件,我的(本地)发布代理可以简单地复制到其目标目的地。因此,我尝试从 VS 命令行本地测试 MS 构建步骤,以便生成文件并记下它们所在的路径。也许我让这件事变得更复杂了?
这些选项将创建单个压缩存档及其关联文件,并将其放入 artefact staging 目录。有没有办法简单地发布文件而不将它们放入存档中 - 直接放入人工制品暂存目录?
Visual Studio 构建
MSBuild 参数
/t:My_MVCWeb_Project_Name /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"
在我使用本地代理的版本中), 我有一个“复制文件”任务,目标是 IIS 应用程序所在的 unc 路径。但是,这只会复制存档。那么我怎样才能像使用发布配置文件一样将文件直接复制到应用目录?
[update2 - 仍在生成 zip 文件]
MSBuild my_solution_name /t:"my_project_name" /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:SkipInvalidConfigurations=true /p:PackageLocation="D:\temp\local-dev-build-dir"
[更新 3] 从命令行尝试这些作为测试,但没有生成任何内容
msbuild D:\app_dir>MSBuild my_solution_name.sln /t:"my_web_proj_name" /p:SkipInvalidConfigurations=true /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:publishUrl="D:\temp\app_build_dir\\"
/p:DeployDefaultTarget=WebPublish
【问题讨论】:
标签: msbuild azure-devops azure-pipelines