【发布时间】:2021-05-25 20:15:03
【问题描述】:
我们有一个使用以下技术开发的解决方案:
-
Visual Studio 2015
-
.NET 框架 4.8
该解决方案包含很多我们部署到 IIS 服务器的 WCF Web 服务
我计划让 MSBuild 命令行的命令进行清理、构建、发布。
我想使用 MSBuild 命令行来
-
干净
-
构建
-
发布(特别想发布到 zip 文件,这就是过程出现问题的地方)
我将使用 MSDeploy 部署到 IIS 服务器
由于我们使用的是Visual Studio 2015,它对应Visual Studio 14.0版本(参考:https://en.wikipedia.org/wiki/Microsoft_Visual_Studio#History)
因此,我们应该使用以下 MSBuild 可执行文件(参考:https://help.veracode.com/r/c_msbuild_paths):
C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe C:\Program Files (x86)\MSBuild\14.0\Bin\amd64\MSBuild.exe
-
开始以管理员模式运行 Dos 命令提示符
-
让我们清理项目
D:\Blah\Blah\WCFService>"C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" /t:Clean
- 让我们构建项目
D:\Blah\Blah\WCFService>" C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" /t:Build /p:Configuration=Dev
- 问题在于发布 (注意:我不想在构建时部署,这就是设置 DeployOnBuild=false 的原因)
D:\Blah\Blah\WCFService> “C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" /t:_WPPCopyWebApplication;发布 /p:配置=开发
/p:EnvironmentName=Dev WCFService.csproj/p:DeployOnBuild=false
/p:WebPublishMethod=包
/p:PackageAsSingleFile=true
/p:DeployTarget=包 /p:PackageLocation="C:\temp\OutputDir\WCFService.zip /p:CreatePackageOnPublish=True
/p:平台=AnyCPU /详细:诊断
问题是当我发布时出现以下错误,并且我的项目的文件和目录被奇怪地删除了
"D:\Blah\Blah\WCFService\WCFService.csproj" (_WPPCopyWebApplication;发布目标) (1) -> (_WPPCopyWebApplication 目标)-> C:\Program 文件 (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.targets(2516,5): 错误:复制文件 obj\Dev\TransformWebConfig\trans 形成\Web.config 到 D:\Blah\Blah\WCFService\Web.config 失败。可以 找不到文件“obj\Dev\TransformWebConfig\transformed\Web.config”。 [D:\Blah\Blah\WCFService\WCFService.csproj]
0 个警告 1 个错误
谁能告诉我正确的发布 msbuild 命令,该命令将正确创建 zip 文件,并且不删除我的项目代码?
【问题讨论】:
-
您是否尝试将
DeployOnBuild设置为true? -
但我现在只想创建 zip。我不想在构建时进行部署,这就是设置 DeployOnBuild=false 的原因。我计划让 MSBuild 命令行的命令执行清理、构建、发布。我将有一个单独的 MSDeploy 命令行。
标签: deployment visual-studio-2015 msbuild publish msdeploy