【问题标题】:Why am I having an error trying to locally install cs-script?为什么我在尝试本地安装 cs-script 时出错?
【发布时间】:2014-11-13 17:55:50
【问题描述】:
  • 您从网站下载 CS-Script 包
  • 安装说明说将文件解压缩到您想要的位置,然后运行css_config.exe 来安装软件包。
  • 但如果您运行更高版本的 .NET,您可能会看到一个消息框,上面写着:

    System.IO.FileLoadException:无法加载文件或程序集 'file:///X:\Path\To\cs-script\csws.exe' 或其依赖项之一。操作不 支持(HRESULT 异常:0x80131515)
    文件名:'file:///X:\Path\To\cs-script\csws.exe' --> System.NotSupportedException:
    尝试从网络位置加载程序集,这将 导致程序集在 .NET 的早期版本中被沙盒化 框架。此版本的 .NET Framework 不通过以下方式启用 CAS 策略 默认,因为此负载可能很危险。如果此负载不打算 沙箱组件请启用 loadFromRemoteResources 开关。看 http://go.microsoft.com/fwlink/?LinkId=155569了解更多信息 在 System.Reflection.RuntimeAssembly...

发生了什么事?为什么它调用本地文件,解压缩到本地磁盘,远程文件

我能做什么?

【问题讨论】:

  • 有人刚刚对我投了反对票,但不知道我必须尝试多少次搜索才刚刚开始。只是开始引导自己找到解决方案。

标签: .net windows code-access-security cs-script


【解决方案1】:

这些文件需要解锁

发生这种情况是因为 Windows 跟踪该可执行文件是从来自 Internet 的 zip 文件中出现的。借用 Perl 的一个术语,该 zip 文件是“污染的”,Windows 会跟踪从 zip 文件到解压缩文件的污染。

您之前可能已经看到过这样的情况,即一个简单的下载并运行的可执行文件会在它进入系统后几个月询问您是否真的要运行该可执行文件。如果您打开属性文件,您将看到安全警告:

此文件来自另一台计算机,可能会被阻止以帮助保护这台计算机。

作为保护的一部分,操作系统似乎更喜欢像 remote 文件一样访问它们。而在 .NET 的早期版本中,这不是问题,而在 .NET 4 中却是。 CAS 或Code Access Security 在此版本中更具限制性,如对话框所述。

它还说“启用 loadFromRemoteResources 开关”。所以在阅读了subject 之后,我创建了一个X:\Path\To\cs-script\csws.exe.config 文件(因为没有配置文件)并放入其中:

<configuration>
   <runtime>
      <loadFromRemoteSources enabled="true"/>
   </runtime>
</configuration>

什么都没做。后来我在文件属性对话框上发现了Unblock 按钮。但是单击csws.exe 的该按钮只会导致对话框抱怨无法“远程”启动另一个可执行文件。

所以在做了一些挖掘之后,我想出了以下powershell函数:

function Unblock-All { Get-ChildItem @args -Recurse | Unblock-File }

然后像这样运行它:

Unblock-All X:\Path\To\cs-script

之后,我就顺利完成了cs-script的安装。

【讨论】:

    【解决方案2】:

    解决这个问题的方法是在安装程序上创建配置文件,即X:\Path\To\cs-script\css_config.exe.config包含:

    <configuration>
       <runtime>
          <loadFromRemoteSources enabled="true"/>
       </runtime>
    </configuration>
    

    【讨论】:

      猜你喜欢
      • 2014-08-27
      • 2021-08-10
      • 1970-01-01
      • 2018-10-21
      • 1970-01-01
      • 1970-01-01
      • 2021-07-25
      • 2021-11-29
      • 1970-01-01
      相关资源
      最近更新 更多