Tridion 2009 SP1 TcmUploadAssembly 无法覆盖现有的 TBB

Posted

技术标签:

【中文标题】Tridion 2009 SP1 TcmUploadAssembly 无法覆盖现有的 TBB【英文标题】:Tridion 2009 SP1 TcmUploadAssembly not able to overwrite existing TBBs 【发布时间】:2012-04-04 06:34:07 【问题描述】:

我在构建后事件中使用 TcmUploadAssembly 实用程序,但收到来自该工具的以下错误。

错误 1 ​​类型项目的名称必须是唯一的:模板构建块 在此文件夹及其 BluePrint 上下文中。来源或来源 冲突: 中医:5-200-2048。 C:\Projects\Project1\src\Tridion\TBBs\EXEC 复合 模板

给定的 TcmId 是指存储在 Tridion 中的程序集,这是我所期望的,因为这就是我要覆盖的内容。在过去,这“刚刚奏效”。我错过了什么吗?

注意事项:

    我的用户是管理员 Tridion 实例在我的网络上,因此我在上下文中使用凭据。 我已经通过命令行指定了所有设置(没有使用config.xml)

有什么想法吗?

【问题讨论】:

【参考方案1】:

我会说检查您的蓝图上下文(即您所在的出版物)。此错误表示您正在尝试创建 TBB,但已经有一个具有相同名称的项目可能在蓝图子出版物中的某处

【讨论】:

感谢您的回复,我刚刚意识到我试图在蓝图中上传比预期更高的内容。【参考方案2】:

经典写出问题,问题自行解决……

我发现该文件夹也在 AssemblyInfo 中设置,并且我在命令行中设置了错误的文件夹(蓝图问题)。

然而,我遇到了第二个问题,如果我在命令行上设置 uploadpdb:true 我会收到此错误

Error   1   Could not write file: c:\Temp

设置uploadpdb:false 可以解决问题。

【讨论】:

确实 c:\temp 是写入 PDB 的位置。 IIRC,运行 Tridion CME 网站的用户必须对该文件夹具有写入权限。如果没有,查看文件系统的进程监视器会告诉您谁在尝试写入它。如果你想在堆栈跟踪中有一些不错的源名称和行,你将需要这个 PDB;)

以上是关于Tridion 2009 SP1 TcmUploadAssembly 无法覆盖现有的 TBB的主要内容,如果未能解决你的问题,请参考以下文章

Tridion 2011 Sp1 允许将组件的修订版本发布到暂存目标

Tridion 组件链接在动态组件演示中未解析

powershell 使用PowerShell和核心服务淘汰SDL Tridion 2013 SP1发布目标。见http://tridion.stackexchange.com/questions/1

powershell 使用PowerShell和核心服务淘汰SDL Tridion 2013 SP1发布目标。见http://tridion.stackexchange.com/questions/1

sql 检查SDL Tridion 2013 SP1 MS SQL数据库中的活动预览会话。

sql 检查SDL Tridion 2013 SP1 MS SQL数据库中的活动预览会话。