在PowerShell 7/.NET 5中加载/使用CsvHelper



长话短说-请求帮助加载/使用PS7w/.NET5中的CsvHelper。Dll加载良好,但没有可用的导出命令。添加了一个清单(嵌套、根等(,其中完全导出未公开。我们将不胜感激。


长话短说-拥有一个安装了相当普通的pwsh v7.1.3和.NET v5.0.300的系统。我被分配了一个项目来处理非常大的CSV文件,并用SQLBULKCOPY处理它们。这些文件将面临格式化挑战以及日期(datetime2(乐趣,因此Csv解析器似乎是最好的操作方案。

在看到CsvHelper可以满足解析需求,是为.NET 5编译的(没有依赖项(,并且阅读了显示性能比另一个正在测试的DLL(lu…(好20%+的评论后,我想将其用于该项目。

该解决方案将用于无法访问互联网的系统和技能有限的用户,因此希望使用仅在脚本模块目录中包含CsvHelper dll。

加载CsvHelper.dll(net5.0(文件import-module "...CsvHelper.dll"似乎可以工作。Get-Module显示dll已加载,但不显示任何导出的命令。Get Command也没有。我曾尝试为DLL创建一个清单文件(嵌套模块、根模块等,并导出特定的公共文件,*(,但没有成功。我确信我错过了一些简单的东西,希望能得到帮助。非常感谢。

当我开始这个项目时,第一个测试是使用Lumenworks解析器。它可以加载到PS中并直接使用。这很好,它让我朝着那个特定的方向前进。进入CsvHelper后,我只想(希望(留在PS。有官僚主义的动机,不去工作室,编译dll,等等。

我的希望是在PS中加载助手dll,然后内联C#代码。大致如下:

Import-Module "C:...CsvHelper.dll"

$Assem = (
<?? for csvhelper>
)

带有

$source = @"
using CsvHelper;
<C# around using CsvHelper>
"@

和适当的Add Type

Add-Type -ReferencedAssemblies $Assem -TypeDefinition $Source -Language CSharp

我想做的事情可能可以完成,但我没有能力。现在我要做一个Studio项目。将构建设置为做我想做的事情,在PS中使用它来解决问题并处理政治。

感谢您的投入。

最新更新