【发布时间】:2020-06-19 12:15:14
【问题描述】:
我需要在 SSIS 包的数据流中实现 BCrypt 散列。我想通过将 Bcrypt 程序集部署到 GAC 然后在脚本组件中调用它来做到这一点。我从 Git 下载了项目,构建了强命名项目(我创建了一个密钥),并使用 Powershell 将程序集部署到 GAC。我使用的是 Powershell 而不是 gacutil.exe,因为我运行的是没有 gacutil.exe 的 Windows 10。
https://github.com/BcryptNet/bcrypt.net
# NOTE: Run powershell as administrator
[Reflection.Assembly]::LoadWithPartialName("System.EnterpriseServices") | Out-Null
[System.EnterpriseServices.Internal.Publish] $publish = New-Object System.EnterpriseServices.Internal.Publish
# to install a dll
$publish.GacInstall("C:\temp\Bcrypt.net\BCrypt.Net-Next.dll")
我没有收到任何错误,实际上我没有收到任何输出 - 它只是转到下一行。但程序集未安装在 %windir%\Microsoft.NET\assembly
知道为什么这不起作用吗?
注意:我正在这样做而不是使用 NuGet,因为我将在 SSIS 脚本组件中使用它。显然,NuGet 不适用于 SSIS 解决方案。
【问题讨论】:
-
我对这个过程很笨,所以请耐心等待。您确定它应该出现在程序集目录中吗?命令成功后(大概),ISE 是否看到命名空间? [System.Bcrypt.whatever]?
-
是的,它应该显示在 Assembly 目录中。它是一个文件,需要存储在某个地方。您可以尝试构建它并将其部署到 GAC 吗?
-
在工作中,我无法在此处使用 DL 随机库来实现它们。我回家后试试看。
-
它是开源的。 DLL 不在其中。你必须建造它。注意:我使用了强符号
-
因此,从 GitHub 下载代码并将其构建到 DLL 中与从 Internet 侧加载 DLL 的工作问题相同——至少就工作而言。对不起,伙计。
标签: windows git powershell ssis gac