You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 4.8运行工作流创建Jira时遇异常及文件查找问题

.NET 4.8 + VS2017 遗留工作流代码创建Jira时的系列问题及解决思路

一、初始异常:无法识别自定义工作流活动类型

Unable to create unknown type '{clr-namespace:Services.Modules.Asv.Workflows;assembly=Oddo.Services.Middleware.Modules.Asv.Business, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null}GetTicketByIdActivityAsync'
line number '110' and line position '16'.

解决方向:

  • 检查Oddo.Services.Middleware.Modules.Asv.Business程序集是否已正确引用到当前项目,确保版本、PublicKeyToken与XAML中声明的完全一致
  • 确认GetTicketByIdActivityAsync类的命名空间确实是Services.Modules.Asv.Workflows,无拼写错误
  • 验证该类是否为public访问修饰符,且继承自正确的工作流基类(如AsyncCodeActivity)
  • 若该程序集是本地项目,确认已成功编译,输出目录中存在对应的dll文件

二、XAML文件查找逻辑导致activityDefs始终为空

问题代码:

var activityDefs = Directory.GetFiles(".", "*.xaml", SearchOption.AllDirectories).Where(item => item.Equals(".\\CreateJiraMoboVLI.xaml"));

if (activityDefs == null)
{
      Logger.Error($"the activityDefs was null ");
      throw new ArgumentNullException(nameof(activityDefs));
}

问题原因与修复:

  • Directory.GetFiles返回的是带路径的完整文件名,直接用Equals(".\\CreateJiraMoboVLI.xaml")匹配永远不会成功
  • 修复后的代码:仅匹配文件名,同时修正无效的null判断(LINQ返回的IEnumerable永远不为null,需判断是否为空集合)
var activityDefs = Directory.GetFiles(".", "*.xaml", SearchOption.AllDirectories)
                            .Where(item => Path.GetFileName(item).Equals("CreateJiraMoboVLI.xaml", StringComparison.OrdinalIgnoreCase));

if (!activityDefs.Any())
{
      Logger.Error("未找到目标XAML文件:CreateJiraMoboVLI.xaml");
      throw new FileNotFoundException("指定的工作流XAML文件不存在", "CreateJiraMoboVLI.xaml");
}
  • 额外检查:确认XAML文件的生成操作设置为Content(确保文件被复制到输出目录),或根据业务需求设置为WorkflowDefinition

三、清理重建后的新错误

错误提示:未能加载文件或程序集“Oddo.Services.Middleware.Modules.Asv.Business”或它的某一个依赖项。系统找不到指定的文件。

解决方向:

  • 检查输出目录(如bin/Debug)中是否存在Oddo.Services.Middleware.Modules.Asv.Business.dll,若不存在,重新编译该依赖项目
  • 确认项目引用中该程序集的“复制本地”属性已设置为True,确保编译时自动复制到输出目录
  • 使用**程序集绑定查看器(fuslogvw.exe)**跟踪程序集加载失败的具体原因,排查依赖项缺失或版本不匹配问题
  • 手动删除解决方案下所有bin、obj目录,清理NuGet缓存后重新完整编译

内容的提问来源于stack exchange,提问作者Youssef Boudaya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 09:05:11