Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 滤饼:不安全加载组件_C#_.net_Powershell_Cakebuild - Fatal编程技术网

C# 滤饼:不安全加载组件

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

我用蛋糕0.21.1.0

我想添加一个执行与此PowerShell操作等效的任务:

$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线程解决了我的问题:好的,但是上面的问题是否回答了你的问题?总的来说,如果你自己找到了答案,那么最好回到问题和答案上来,接受你自己的答案,这样人们就会知道答案已经排序好了。比在某人发布建议答案后几个小时编辑问题更好的练习。这样你就可以珍惜那些试图帮助你的人的时间。谢谢你的回答,德夫里德——我会照你的建议去做。