C# 滤饼:不安全加载组件
我用蛋糕0.21.1.0 我想添加一个执行与此PowerShell操作等效的任务:C# 滤饼:不安全加载组件,c#,.net,powershell,cakebuild,C#,.net,Powershell,Cakebuild,我用蛋糕0.21.1.0 我想添加一个执行与此PowerShell操作等效的任务: $dlls = @(${dll1}, ${dll2}) $dlls | % { [Reflection.Assembly]::UnsafeLoadFrom($_) } [StaticClassFromLocalLibrary]::SomeStaticMethod(SomeArgument) 我决定不使用,因为运行PowerShell脚本会直接抛出错误。ps1没有数字签名。脚本将不会在系统上执行。由于我雇主的IT
$dlls = @(${dll1}, ${dll2})
$dlls | % { [Reflection.Assembly]::UnsafeLoadFrom($_) }
[StaticClassFromLocalLibrary]::SomeStaticMethod(SomeArgument)
我决定不使用,因为运行PowerShell脚本会直接抛出错误。ps1没有数字签名。脚本将不会在系统上执行
。由于我雇主的IT政策,我不允许运行Set ExecutionPolicy
来规避这个问题。这就是为什么我想将PowerShell脚本中的步骤直接转换为CAKE中的指令
最初,我在我的蛋糕脚本中写了以下几行:
System.Reflection.Assembly.UnsafeLoadFrom(dll1);
System.Reflection.Assembly.UnsafeLoadFrom(dll2);
StaticClassFromLocalLibrary.SomeStaticMethod(SomeArgument);
#r @"\\hostName\Folder1\Folder2\Folder3\Folder4\Some.Local.Project.dll"
但是,引发了一个异常,表示在当前上下文中找不到名称StaticClassFromLocalLibrary
然后,我将这一行添加到我的蛋糕脚本中:
System.Reflection.Assembly.UnsafeLoadFrom(dll1);
System.Reflection.Assembly.UnsafeLoadFrom(dll2);
StaticClassFromLocalLibrary.SomeStaticMethod(SomeArgument);
#r @"\\hostName\Folder1\Folder2\Folder3\Folder4\Some.Local.Project.dll"
但是,由于没有以不安全的方式加载,因此引发了另一个异常,这次通知我无法加载DLL
如何使用#r
指令(或任何其他CAKE命令)指定希望以不安全的方式加载DLL
编辑:
通过咨询并采纳公认答案中的建议,我已经解决了我的问题。Cake中没有内置的不安全加载,但因为它只是C#您可以做的只是将PowerShell代码片段转换为C#
也许你可以添加一个应用程序配置来排序谢谢你的回复!我已经通过咨询这个SO线程解决了我的问题:好的,但是上面的问题是否回答了你的问题?总的来说,如果你自己找到了答案,那么最好回到问题和答案上来,接受你自己的答案,这样人们就会知道答案已经排序好了。比在某人发布建议答案后几个小时编辑问题更好的练习。这样你就可以珍惜那些试图帮助你的人的时间。谢谢你的回答,德夫里德——我会照你的建议去做。