【发布时间】:2017-06-02 15:04:07
【问题描述】:
我已通过 Visual Studio 2017 安装程序安装了 FSharp 4.1,但 FSI 拒绝启动:
PS C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0> .\fsi
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly
'System.Runtime, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one
of its dependencies. The system cannot find the file specified.
at Microsoft.FSharp.Compiler.Interactive.Shell.MainMain(String[] argv)
我假设我在 PATH 变量或其他东西中遗漏了一些东西,但尽管进行了几次重新安装和修复,我还是无法克服这个错误。
FSI 在哪里寻找这个 dll,我应该安装什么来把它放在那里?
更新:
我尝试了一些事情,结果没有改变:
- 通过 VS 2017 安装程序删除 F# 4.1,验证
C:\Program Files (x86)\Microsoft SDKs\F#\4.1不存在,然后重新安装 F# 4.1 - 卸载我已安装的所有 .NET Core 版本
- 删除似乎没有安装程序支持的
C:\Program Files (x86)\Microsoft SDKs\F#\4.0目录。 (该目录中的 FSI 在删除之前有效...)
我已将融合日志转储到一个 zip 文件并放入 on my Google Drive。有一大堆失败的绑定,System.Runtime, Version 4.1.0.0 就是其中之一。
在此处提交的问题:https://github.com/Microsoft/visualfsharp/issues/3178
【问题讨论】:
-
这太奇怪了。它不应该试图加载它。你能用 ILSpy 打开
fsi.exe,看看它是否真的引用了System.Runtime? -
@FyodorSoikin:感谢您的提示;这样做了,但没有参考。我想它一定是从
fsi.exe引用的东西中引用的。 -
尝试在调试器下运行,看看异常时加载了哪些模块。然后检查它们中的每一个,看看哪个引用了
System.Runtime。