我目前正在尝试在构建服务器 (Windows Server R2) 上创建 Jenkins CI 作业,结果发现在不安装 Visual Studio 的情况下需要做更多的工作。对于这项工作,我尝试使用 Visual Studio 项目中的 .csproj 文件构建一个 Web 包。下面是我在 Jenkins 中的 MSBuild 操作设置:
MSBuild Version: .NET 4.0
MSBuild Build File: MyProject\MyProj.Web\MyProj.Web.csproj
Command Line Arguments: /T:Build;Package /p:Configuration=Release;PackageLocation="C:\MyProj\MyProj.Web.zip";VisualStudioVersion=11.0
运行构建时发生的错误是这样的:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(2704,5): error : Package/Publish depends on Microsoft Web Deployment technology. Microsoft Web Deployment is not correctly installed on this machine. Please install from following link: For x86(32 bit): http://go.microsoft.com/fwlink/?LinkId=109365.For x64(64 bit): http://go.microsoft.com/fwlink/?LinkId=109366
我确实在构建计算机上安装了 Web Deploy,所以我不太确定问题可能是什么。任何帮助将不胜感激!
最佳答案
我的用例和你的一样。 Jenkins运行msbuild来运行msdeploy
我使用了 msdeploy.exe,而不是直接从 msbuild 创建包
所以我有一个 msbuild 目标
<Target Name="PackageArtifacts">
<Exec Command='"@(MsDeploy)" -verb:sync -source:iisApp="$(Source)",includeAcls=true -dest:package="$(Destination)"'/>
</Target>
哪里 msdeploy 是 msdeploy.exe 的目录 source 是您可发布网站的目录 目的地是您的包名称“{filepath}/package.zip”
关于.net - Jenkins、MSBuild 和 Web 部署 : Unable to create Web Package,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16923126/