为网站构建部署包对我来说很好,但对团队的其他成员来说却失败了。
我的一位队友的错误输出:
打包到 C:\tfs-public\SLL - Tolkportalen\Main\Source\Deploy\SysTest\OrderPortal.SysTest.zip。C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3009,5):错误:Web 部署任务失败。(“清单”类型的对象和路径'C:\tfs-public\SLL - Tolkportalen\Main\Source\Deploy\SysTest\OrderPortal.SysTest.SourceManifest.xml' 无法创建。)
无法创建“清单”类型和路径“C:\tfs-public\SLL - Tolkportalen\Main\Source\Deploy\SysTest\OrderPortal.SysTest.SourceManifest.xml”的对象。清单“sitemanifest”中的一个或多个条目无效。路径中的非法字符。包失败。
检查时,OrderPortal.SysTest.SourceManifest.xml 文件确实已在上述路径中创建,尽管有错误消息。
其中一台故障机器的源代码与我的机器在完全相同的位置检出,因此它不应该是硬编码路径问题。
还有另一个看起来相似的 SO 问题,但错误消息并不相同,因为我正在构建一个包(将被复制到服务器进行部署),所以它不应该相同:Package Publish Web - include IIS settings从 IIS 管理器中断部署包构建
编辑
该包是使用 wpp.targets 文件定制的。如果删除,它也可以在其他机器上运行,因此它可能与自定义有关。
编辑
该错误现在已被隔离到 wpp.targets 中嵌入引号的 runCommand 语句:
<path>net start "Topsi Schedule Service $(Configuration)"</path>
删除服务名称和引号中的空格可以解决问题。仍然不知道为什么它不会在我的机器上失败。