1

我得到了以下运行时异常,除了我认为我的情况与我迄今为止看到的十几个不同,其中大部分都是几年前的。

Could not load file or assembly 'System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified.

我们一直在使用 System.ValueTuple,并在他们首次将库合并到核心语言时遇到了这些常见问题。从那时起,我们删除了对旧 nuget 包的所有引用,所有项目都以 4.7 为目标。

从那时起,我们在整个解决方案中成功地使用了 ValueTuple 结构,没有出现任何问题。到目前为止,我有一个特定的调用失败,而其他返回 ValueTuple 的调用在同一方法中成功。我不知道有什么区别,因为所有调用都使用通过 SignalR 集线器通过如下接口序列化的自定义对象:

Task<(MyObject myobj, Guid myguid)> GetStuffd(Guid id);

我将我们所有的项目都升级到了 4.7.2。我删除了每个 app.config 文件中的每个绑定重定向。依然没有。而且由于其他 ValueTuple 调用在同一个项目中工作,我不认为我在使用这些解决方案的正确轨道上。有任何想法吗?

4

1 回答 1

1

问题实际上是服务器端的,从我的主机服务中删除绑定重定向很容易解决问题。

值得注意的是,一个新的 .Net Standard 2.0 库是这里的催化剂。我对 .Net Standard 类库的调用是引发问题的原因。这与其他已经使用 ValueTuple 的调用不同。

毕竟,清除绑定重定向确实是解决方案。

于 2019-12-03T22:49:12.353 回答