我在下面有这段代码,我用它来发布到 Web 数据库。我遇到了一个问题,当我使用下面的代码发布时,我的 Web 数据库中有一个损坏的项目,当我单击它时,会出现错误“值不能为空”。参数名称“项目”。当我查看该项目时,它的图标是标准模板与具有自定义图标的自定义模板的图标。但是当我单击它时,我看到了所有字段以及上述错误。
是否有一个与 Web 数据库中已发布项目同名的项目是一个问题?
using (new SecurityDisabler())
{
Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");
Sitecore.Data.Database target = Sitecore.Configuration.Factory.GetDatabase("web");
Sitecore.Data.Items.Item home = master.GetItem(new ID(id));
Sitecore.Data.Database[] targetDatabases = { target };
Sitecore.Globalization.Language[] languages = master.Languages;
bool deep = false;
bool compareRevisions = true;
Sitecore.Publishing.PublishManager.PublishItem(home, targetDatabases, languages, deep, compareRevisions);
}