用完Visual Studio时F#交互式失败

时间:2018-07-26 07:36:30

标签: visual-studio f#-interactive

我有一个F#脚本,可以导入一系列库,包括SQLProvider和其他两个类型提供程序。当我在Visual Studio 2017 F#交互式窗口中运行脚本时,一切正常。 但是,当我尝试从交互式命令行而不是在Visual Studio中运行相同的脚本时,出现意外警告和异常,如下所示:

enter image description here

针对包含自定义类型提供程序的两个DLL报告了两个警告,而故障似乎是SQLProvider构造函数出现问题。 同样,如果我在Visual Studio(F#交互式窗口)中运行脚本,则不会发生任何事情

我正在使用Windows 10。

有什么想法吗?

编辑

结果表明,行为上的差异是由于所使用的fsi.exe不同所致:

当我在Visual Studio中运行fsi时,正在运行的fsi.exe是Visual Studio特定版本(在“ C:\ Program Files(x86)\ Microsoft Visual Studio \ Preview \ Community \ Common7 \ IDE \ CommonExtensions \ Microsoft \ FSharp”)。

相反,F#标准交互式程序是计算机PATH中的一个,它位于“ C:\ Program Files(x86)\ Microsoft SDKs \ F#\ 4.1 \ Framework \ v4.0”中。

实际上,如果我重写PATH以指向Visual Studio版本,那么即使在Visual Studio之外,一切也进行得很好。

这很烦人,因为我不能简单地将我在Visual Studio中测试的DLL分发到仅F#机器上。 例如,我的一位客户使用VS代码并且无法运行它,因此我需要强迫他安装Visual Studio,或者需要在Visual Studio之外重构我的应用程序。 这里应该有更多的统一性。

有其他方法吗?

0 个答案:

没有答案