我遇到了以下运行时异常,除了我认为我的案例与到目前为止所见的十几个案例不同,其中大多数都已经有几年了。
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调用是在同一个项目中进行的,因此我认为使用此类解决方案的方向并不正确。有什么想法吗?
答案 0 :(得分:0)
问题实际上是在服务器端,从我的主机服务中删除绑定重定向很容易解决了问题。
值得注意的是,新的.Net Standard 2.0库是这里的催化剂。我对.Net Standard类库的调用是导致此问题的原因。这与已经使用ValueTuple进行的其他调用不同。
清除绑定重定向确实是解决方案。