1.描述
6.1版本之前的活字格服务器基于Katana服务器,从6.1版本开始,活字格服务器从Katana迁移到ASP.NET Core,因此您需要升级命令类型插件。
满足以下所有条件时无需升级插件:
- 命令未实现ICommandChecker接口。
- 命令未重写(override) GetCommandEditor, GetEditorSetting 方法
- 原始插件工程依赖.net Framework 4.7.2。
2.升级命令类型插件
操作步骤
检查项目属性,确认项目的Framework框架为.NET Framework 4.7.2。
Commands和Grapecity.Forguncy.Plugin移除掉。
使用Visual Studio打开.csproj文件, 在解决方案资源管理器中将Forguncy.在解决方案资源管理器中,“引用”上右击,选择添加引用。
在右下角单击“浏览”,活字格安装文件所在的bin文件夹,如果是默认安装,则路径为"C:\Program Files (x86)\Forguncy 6\Website\designerBin",找到以下文件,将其添加到解决方案资源管理器中,
- 如果需要自定义命令编辑器或实现ICommandChecker接口,请添加Forguncy.Commands.dll,Forguncy.Commands.Design.dll,GrapeCity.Forguncy.Plugin.dll,GrapeCity.Forguncy.Plugin.Design.dl 这四个文件;
- 在其他情况下,请添加Forguncy.Commands.dll,GrapeCity.Forguncy.Plugin.dll 这两个文件;
并且将这些文件的属性中的“复制本地”设置为“False”以确保最佳性能。
升级接口。
升级自定义命令编辑器。
升级前
升级后
[Icon("pack://application:,,,/ImportExportCSV;component/Resources/Icon.png")]
public class ImportExportCSV : Command
{
public ImportExportCSV()
{
ImportExportInfo = new ImportExportInfo();
}
public ImportExportInfo ImportExportInfo { get; set; }
public override ICommandEditor GetCommandEditor(IBuilderCommandContext context)
{
return new ListViewColumnsEditor(context);
}
public override string ToString()
{
return Resource.CommandName;
}
}
//此处标记了预览单元格类型的对应类。
[Designer("ImportExportCSV.ImportExportCSVDesigner, ImportExportCSV")]//格式为 "Namespace.ClassName, AssemblyName"
[Icon("pack://application:,,,/ImportExportCSV;component/Resources/Icon.png")]
public class ImportExportCSV : Command
{
public ImportExportCSV()
{
ImportExportInfo = new ImportExportInfo();
}
public ImportExportInfo ImportExportInfo { get; set; }
public override string ToString()
{
return Resource.CommandName;
}
}
class ImportExportCSVDesigner : CommandDesigner<ImportExportCSV>
{
public override ICommandEditor GetCommandEditor(IBuilderCommandContext context)
{
return new ListViewColumnsEditor(context);
}
}
ICommandChecker 接口升级。
升级前
升级后
[Icon("pack://application:,,,/ImportExportCSV;component/Resources/Icon.png")]
public class ImportExportCSV : Command, ICommandChecker
{
public ImportExportCSV()
{
ImportExportInfo = new ImportExportInfo();
}
public ImportExportInfo ImportExportInfo { get; set; }
public override ICommandEditor GetCommandEditor(IBuilderCommandContext context)
{
return new ListViewColumnsEditor(context);
}
public IEnumerable<ForguncyErrorInfo> CheckCommandErrors(IBuilderCommandContext context)
{
return ImportExportInfoValueValidateHelper.Validate(ImportExportInfo);
}
public override string ToString()
{
return Resource.CommandName;
}
}...
class ImportExportCSVDesigner : CommandDesigner<ImportExportCSV>, ICommandChecker
{
public override ICommandEditor GetCommandEditor(IBuilderCommandContext context)
{
return new ListViewColumnsEditor(context);
}
public IEnumerable<ForguncyErrorInfo> CheckCommandErrors(IBuilderCommandContext context)
{
return ImportExportInfoValueValidateHelper.Validate(ImportExportInfo);
}
}
在插件名称上右击,选择“生成”或者“重新生成”。完成后重启活字格设计器,新建的插件就会安装到活字格设计器中。