问题标签 [fsc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
202 浏览

reflection - 无法通过反射加载使用 F# 编译器服务构建的程序集

当我尝试加载(通过反射)使用 F# 编译器服务构建的 .dll 时,我不断收到以下错误消息(即使被抱怨的 Equals 方法确实存在于构建中):

我在 Ubuntu 上使用 .NET Core。

但是,如果我使用 Visual Studio Code 构建,我可以加载程序集。我打开了两个版本,我注意到不起作用的版本覆盖了 Equals 方法之一,而有效的版本没有。我不确定这是否有后果:

对比

此外,当我使用 dnSpy 检查引用时,有效的版本引用了 .netstandard,而没有引用的版本没有此引用。我尝试在编译过程中添加对 .netstandard .dll 的引用,但这似乎没有任何效果。

我正在尝试构建的代码是一个简单的记录,大致相当于以下内容:

这是我使用 F# 编译器服务构建的代码:

我不确定为什么 .dll 没有加载以及我需要做些什么不同的事情。

更新:我已从 .net Core 2.1 升级。到 .NET Core 3.0,即使生成的代码现在不再包含覆盖,问题仍然存在。我现在可以观察到的有效版本(使用 VSCode 编译)和无效版本(使用 FCS 编译)之间的唯一显着区别是 FCS 版本明确引用了 mscorlib 和 System.Private.CoreLib。但是,如果没有这些显式引用,我将无法编译代码。

0 投票
1 回答
260 浏览

javascript - React 无状态功能组件 - Laravel

我设置了一个项目,其中 laravel 作为后端 Api 提供者,React 作为前端管理器。当我简单地渲染一些组件时,React 无状态功能组件运行良好。

我使用 useEffect 通过 Axios 从 API URL 获取一些数据。美好的

但是当我使用 setState 更改组件的状态时,它不起作用。没有反映任何变化。即使我点击了具有点击事件的按钮 100 次,它看起来也像一个静态页面。控制台很清楚。没有错误

我想知道为什么?以及我该如何解决。

注意:基于类的组件没有这个问题。它完美呈现状态的任何更新

一些代码

0 投票
1 回答
56 浏览

f# - 使用参考汇编加速 F# 编译

我想我会尝试使用 Reference Assemblies 加快编译速度。所以我将它添加到我的项目中:

但是我的 F# 项目出现了一个严重的错误:

error : Expected file "obj\Debug\net5.0\ref\xyz.dll" does not exist.

F# 似乎不支持引用程序集。

这会解决吗?

有没有办法用 F# 签名文件做到这一点?

0 投票
0 回答
45 浏览

hyperledger-fabric - 如何从应用程序连接到 Fabric Smart Client(FSC)

我想将 Fabric 部署为忠诚度数据库。现在,我有一个电子商务应用程序(基于 Java),我希望这个应用程序连接到 FSC 以开展忠诚度业务。所以,我的问题是如何发行、兑换、...通过 FSC 指向 Fabric。我找不到任何文件来做到这一点。

FSC 链接:https ://github.com/hyperledger-labs/fabric-smart-client

感谢您的帮助!

0 投票
1 回答
40 浏览

.net - 在哪里告诉 F# 编译器定位程序集?

我正在尝试编译一个想要使用任意精度有理数的 F# 程序。源代码包含

MathNet.Numerics 和 MathNet.Numerics.FSharp 的安装方式让 Visual Studio 很满意。现在我正在尝试直接使用 fsc 从命令行编译程序(以便更好地控制正在发生的事情)。显然,编译器需要被告知所引用的程序集。

我试过了

但它说

错误 FS0082:无法解析此引用。找不到程序集“MathNet.Numerics”。检查以确保该程序集存在于磁盘上。如果您的代码需要此引用,您可能会遇到编译错误。(代码=MSB3245)

大概我需要使用一些其他选项来告诉 fsc在哪里寻找有问题的程序集。我应该使用哪个选项,我应该提供什么位置?(机器上有很多不同版本的 MathNet.Numerics.dll 的副本;不清楚哪个应该被认为是规范的。)