我有一个.net核心3.1Azure函数,它使用NHApi的最新版本(3.0.4)。以下代码行在本地运行时引发异常:
var pipeParser = new PipeParser();
var messageObject = pipeParser.Parse(messageString);例外情况如下:
“NHapi.Base.PackageManager”的类型初始化程序引发了一个异常。NHapi.Base:“NHapi.Base.PackageManager”的类型初始化程序引发了一个异常。NHapi.Base:无法加载文件或程序集'System.Configuration.ConfigurationManager,Version=5.0.0.0,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51‘。系统找不到指定的文件。
查看bin\Debug\netcoreapp3.1中的构建文件夹,我可以看到一个System.Configuration.ConfigurationManager.dll.但是,,,我需要将这个文件复制到bin\Debug\netcoreapp3.1\bin,这样错误才会消失。默认情况下,该程序集似乎不会被复制到\bin子文件夹(该文件夹包含所有其他引用的单元)。有人知道为什么会这样吗?除了添加一些post构建步骤来完成这个文件副本之外,解决方案是什么?
发布于 2022-02-10 08:55:07
看起来您缺少了System.Configuration.ConfigurationManager引用,auburg提供了一个链接来帮助您将其包含在蔚蓝功能中。
发布于 2021-11-24 11:14:12
下载NHapi时,您将在.Net解决方案中获得一组要引用的程序集。它包含一组程序集,如(NHapi.Base.dll、NHapi.Model.V21.dll和…)
NHapi.Base程序集包含工具和类,通过使用它,我们可以、解析、和生成HL7消息。基类用于实现不同HL7版本的类结构。XML 包含管道和消息的解析器以及用于解析的验证器。这些工具包含异常定义和日志工具。
String msg = @"MSH|^~\&|SENDING|SENDER|RECV|INST|20060228155525||QRY^R02^QRY_R02|1|P|2.3|\n QRD|20060228155525|R|I||||10^RD&Records&0126|38923^^^^^^^^&INST|||";
// get a new instance of the pipeparser to parse the piped message
PipeParser parser = new PipeParser();
try
{
//parse will return an abstract message
IMessage mssg = parser.Parse(msg);
// Cast the abstract message to the right type
// Other examples will show how to determine the type
// of message if this is unknown
QRY_R02 qryR02 = m as QRY_R02;
Console.WriteLine(qryR02.QRD.GetWhoSubjectFilter(0).IDNumber.Value);
}
catch (exception ex)
{
// handle the exception here
}收到消息后,管道分析器解析消息。如果在解析消息时出错,请使用异常处理来捕获任何HL7异常。检查文档这里
请参考这里将文件和程序集移动到function文件夹
https://stackoverflow.com/questions/70081922
复制相似问题