【发布时间】:2017-03-19 13:17:18
【问题描述】:
我必须使用 Team Foundation Server 2015 发布一个 Web 应用程序。
首先我尝试使用 Team Foundation Server 步骤“在目标机器中复制文件”。
我将这些参数提供给我的 Visual Studio 构建步骤:
/p:DeployDefaultTarget=Package
/p:PackageAsSingleFile=true
/p:SkipInvalidConfigurations=true
/p:WebPublishMethod=FileSystem
/p:DeleteExistingFiles=True
/p:PackageLocation=$(build.artifactstagingdirectory)\ic-drop
但是,我只在我的 ic-drop 文件夹中找到了 DLL,我的 web 项目不在这里。
所以我决定执行一个 powershell 脚本来部署我的 Web 应用程序(Asp MVC 4)
使用此脚本:
# Define
$msbuild = "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe"
$options = "/p:PublishProfile='Default' /p:VisualStudioVersion=14.0 /p:AspnetMergePath='C:\Program` Files` (x86)\Microsoft` SDKs\Windows\v10.0A\bin\NETFX` 4.6` Tools' /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True"
$proj = "'C:\Users\MyUser\Documents\Visual` Studio` 2015\Projects\Web\Web\Project.Path.Web.csproj'"
# Execute
$build = $msbuild + " $proj " + $options
Invoke-Expression $build
PS:我创建了一个名为“default”的发布配置文件
所以,我尝试在 Visual Studio 中执行与发布命令相同的操作:
publishing in Visual Studio 2015
要进入我的目标文件夹这些文件:
但我的 powershell 只是构建我的项目并将输出文件 (dll) 复制到我的 bin 目录中。
我想我错过了一些东西,但即使在我搜索之后,我也没有找到它......
【问题讨论】:
标签: visual-studio powershell tfs-2015 msdeploy webdeploy